YES 6.94 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/List.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ CR

mainModule List
  ((insert :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a]) :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a])

module List where
  import qualified Maybe
import qualified Prelude

  insert :: Ord a => a  ->  [a ->  [a]
insert e ls insertBy compare e ls

  insertBy :: (a  ->  a  ->  Ordering ->  a  ->  [a ->  [a]
insertBy x [] x : []
insertBy cmp x ys@(y : ys'
case cmp x y of
  GT-> y : insertBy cmp x ys'
  _-> x : ys


module Maybe where
  import qualified List
import qualified Prelude



Case Reductions:
The following Case expression
case cmp x y of
 GT → y : insertBy cmp x ys'
 _ → x : ys

is transformed to
insertBy0 y cmp x ys' ys GT = y : insertBy cmp x ys'
insertBy0 y cmp x ys' ys _ = x : ys

The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ CR
HASKELL
      ↳ IFR

mainModule List
  ((insert :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a]) :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a])

module List where
  import qualified Maybe
import qualified Prelude

  insert :: Ord a => a  ->  [a ->  [a]
insert e ls insertBy compare e ls

  insertBy :: (a  ->  a  ->  Ordering ->  a  ->  [a ->  [a]
insertBy x [] x : []
insertBy cmp x ys@(y : ys'insertBy0 y cmp x ys' ys (cmp x y)

  
insertBy0 y cmp x ys' ys GT y : insertBy cmp x ys'
insertBy0 y cmp x ys' ys _ x : ys


module Maybe where
  import qualified List
import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
HASKELL
          ↳ BR

mainModule List
  ((insert :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a]) :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a])

module List where
  import qualified Maybe
import qualified Prelude

  insert :: Ord a => a  ->  [a ->  [a]
insert e ls insertBy compare e ls

  insertBy :: (a  ->  a  ->  Ordering ->  a  ->  [a ->  [a]
insertBy x [] x : []
insertBy cmp x ys@(y : ys'insertBy0 y cmp x ys' ys (cmp x y)

  
insertBy0 y cmp x ys' ys GT y : insertBy cmp x ys'
insertBy0 y cmp x ys' ys _ x : ys


module Maybe where
  import qualified List
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.
Binding Reductions:
The bind variable of the following binding Pattern
ys@(vy : vz)

is replaced by the following term
vy : vz



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
HASKELL
              ↳ COR

mainModule List
  ((insert :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a]) :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a])

module List where
  import qualified Maybe
import qualified Prelude

  insert :: Ord a => a  ->  [a ->  [a]
insert e ls insertBy compare e ls

  insertBy :: (a  ->  a  ->  Ordering ->  a  ->  [a ->  [a]
insertBy vx x [] x : []
insertBy cmp x (vy : vzinsertBy0 vy cmp x vz (vy : vz) (cmp x vy)

  
insertBy0 y cmp x ys' ys GT y : insertBy cmp x ys'
insertBy0 y cmp x ys' ys vw x : ys


module Maybe where
  import qualified List
import qualified Prelude



Cond Reductions:
The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare0 x y True = GT

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x vuw = gcd'2 x vuw
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x vuw = x
gcd'1 vux vuy vuz = gcd'0 vuy vuz

gcd'2 x vuw = gcd'1 (vuw == 0) x vuw
gcd'2 vvu vvv = gcd'0 vvu vvv

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd vvw vvx = gcd3 vvw vvx
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x vuw = gcd'2 x vuw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x vuw = x
gcd'1 vux vuy vuz = gcd'0 vuy vuz
gcd'2 x vuw = gcd'1 (vuw == 0) x vuw
gcd'2 vvu vvv = gcd'0 vvu vvv

gcd1 True vvw vvx = error []
gcd1 vvy vvz vwu = gcd0 vvz vwu

gcd2 True vvw vvx = gcd1 (vvx == 0) vvw vvx
gcd2 vwv vww vwx = gcd0 vww vwx

gcd3 vvw vvx = gcd2 (vvw == 0) vvw vvx
gcd3 vwy vwz = gcd0 vwy vwz

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal0 x True = `negate` x

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
HASKELL
                  ↳ LetRed

mainModule List
  ((insert :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a]) :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a])

module List where
  import qualified Maybe
import qualified Prelude

  insert :: Ord a => a  ->  [a ->  [a]
insert e ls insertBy compare e ls

  insertBy :: (a  ->  a  ->  Ordering ->  a  ->  [a ->  [a]
insertBy vx x [] x : []
insertBy cmp x (vy : vzinsertBy0 vy cmp x vz (vy : vz) (cmp x vy)

  
insertBy0 y cmp x ys' ys GT y : insertBy cmp x ys'
insertBy0 y cmp x ys' ys vw x : ys


module Maybe where
  import qualified List
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2D vxu vxv = gcd vxu vxv

reduce2Reduce1 vxu vxv x y True = error []
reduce2Reduce1 vxu vxv x y False = reduce2Reduce0 vxu vxv x y otherwise

reduce2Reduce0 vxu vxv x y True = x `quot` reduce2D vxu vxv :% (y `quot` reduce2D vxu vxv)

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x vuw = gcd'2 x vuw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x vuw = x
gcd'1 vux vuy vuz = gcd'0 vuy vuz
gcd'2 x vuw = gcd'1 (vuw == 0) x vuw
gcd'2 vvu vvv = gcd'0 vvu vvv

are unpacked to the following functions on top level
gcd0Gcd'1 True x vuw = x
gcd0Gcd'1 vux vuy vuz = gcd0Gcd'0 vuy vuz

gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)

gcd0Gcd'2 x vuw = gcd0Gcd'1 (vuw == 0) x vuw
gcd0Gcd'2 vvu vvv = gcd0Gcd'0 vvu vvv

gcd0Gcd' x vuw = gcd0Gcd'2 x vuw
gcd0Gcd' x y = gcd0Gcd'0 x y



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
HASKELL
                      ↳ NumRed

mainModule List
  ((insert :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a]) :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a])

module List where
  import qualified Maybe
import qualified Prelude

  insert :: Ord a => a  ->  [a ->  [a]
insert e ls insertBy compare e ls

  insertBy :: (a  ->  a  ->  Ordering ->  a  ->  [a ->  [a]
insertBy vx x [] x : []
insertBy cmp x (vy : vzinsertBy0 vy cmp x vz (vy : vz) (cmp x vy)

  
insertBy0 y cmp x ys' ys GT y : insertBy cmp x ys'
insertBy0 y cmp x ys' ys vw x : ys


module Maybe where
  import qualified List
import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
HASKELL
                          ↳ Narrow

mainModule List
  (insert :: Ord a => Maybe a  ->  [Maybe a ->  [Maybe a])

module List where
  import qualified Maybe
import qualified Prelude

  insert :: Ord a => a  ->  [a ->  [a]
insert e ls insertBy compare e ls

  insertBy :: (a  ->  a  ->  Ordering ->  a  ->  [a ->  [a]
insertBy vx x [] x : []
insertBy cmp x (vy : vzinsertBy0 vy cmp x vz (vy : vz) (cmp x vy)

  
insertBy0 y cmp x ys' ys GT y : insertBy cmp x ys'
insertBy0 y cmp x ys' ys vw x : ys


module Maybe where
  import qualified List
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(vxw3000), Succ(vxw40000)) → new_primEqNat(vxw3000, vxw40000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(vxw3700), Succ(vxw4000000)) → new_primPlusNat(vxw3700, vxw4000000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(vxw30000), Succ(vxw400000)) → new_primMulNat(vxw30000, Succ(vxw400000))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(vxw1100), Succ(vxw1000)) → new_primCmpNat(vxw1100, vxw1000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs1(Left(vxw300), Left(vxw4000), app(app(ty_@2, hc), hd), gd) → new_esEs3(vxw300, vxw4000, hc, hd)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), dg, cd, app(app(ty_@2, ga), gb)) → new_esEs3(vxw302, vxw4002, ga, gb)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), dg, cd, app(app(ty_Either, ff), fg)) → new_esEs1(vxw302, vxw4002, ff, fg)
new_esEs2(Just(vxw300), Just(vxw4000), app(ty_[], bag)) → new_esEs(vxw300, vxw4000, bag)
new_esEs3(@2(vxw300, vxw301), @2(vxw4000, vxw4001), app(app(ty_Either, bce), bcf), bca) → new_esEs1(vxw300, vxw4000, bce, bcf)
new_esEs3(@2(vxw300, vxw301), @2(vxw4000, vxw4001), bdb, app(ty_Maybe, bea)) → new_esEs2(vxw301, vxw4001, bea)
new_esEs1(Left(vxw300), Left(vxw4000), app(app(app(ty_@3, ge), gf), gg), gd) → new_esEs0(vxw300, vxw4000, ge, gf, gg)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), dg, cd, app(ty_Maybe, fh)) → new_esEs2(vxw302, vxw4002, fh)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), app(app(ty_Either, db), dc), cd, ce) → new_esEs1(vxw300, vxw4000, db, dc)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), app(ty_Maybe, dd), cd, ce) → new_esEs2(vxw300, vxw4000, dd)
new_esEs1(Right(vxw300), Right(vxw4000), he, app(app(app(ty_@3, hg), hh), baa)) → new_esEs0(vxw300, vxw4000, hg, hh, baa)
new_esEs3(@2(vxw300, vxw301), @2(vxw4000, vxw4001), app(ty_[], bbh), bca) → new_esEs(vxw300, vxw4000, bbh)
new_esEs3(@2(vxw300, vxw301), @2(vxw4000, vxw4001), app(app(app(ty_@3, bcb), bcc), bcd), bca) → new_esEs0(vxw300, vxw4000, bcb, bcc, bcd)
new_esEs1(Left(vxw300), Left(vxw4000), app(app(ty_Either, gh), ha), gd) → new_esEs1(vxw300, vxw4000, gh, ha)
new_esEs2(Just(vxw300), Just(vxw4000), app(ty_Maybe, bbe)) → new_esEs2(vxw300, vxw4000, bbe)
new_esEs1(Right(vxw300), Right(vxw4000), he, app(app(ty_Either, bab), bac)) → new_esEs1(vxw300, vxw4000, bab, bac)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), dg, app(app(app(ty_@3, ea), eb), ec), ce) → new_esEs0(vxw301, vxw4001, ea, eb, ec)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), dg, cd, app(ty_[], fa)) → new_esEs(vxw302, vxw4002, fa)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), dg, app(app(ty_Either, ed), ee), ce) → new_esEs1(vxw301, vxw4001, ed, ee)
new_esEs(:(vxw300, vxw301), :(vxw4000, vxw4001), app(ty_Maybe, bg)) → new_esEs2(vxw300, vxw4000, bg)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), dg, app(app(ty_@2, eg), eh), ce) → new_esEs3(vxw301, vxw4001, eg, eh)
new_esEs3(@2(vxw300, vxw301), @2(vxw4000, vxw4001), bdb, app(ty_[], bdc)) → new_esEs(vxw301, vxw4001, bdc)
new_esEs3(@2(vxw300, vxw301), @2(vxw4000, vxw4001), bdb, app(app(ty_@2, beb), bec)) → new_esEs3(vxw301, vxw4001, beb, bec)
new_esEs2(Just(vxw300), Just(vxw4000), app(app(app(ty_@3, bah), bba), bbb)) → new_esEs0(vxw300, vxw4000, bah, bba, bbb)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), app(app(ty_@2, de), df), cd, ce) → new_esEs3(vxw300, vxw4000, de, df)
new_esEs2(Just(vxw300), Just(vxw4000), app(app(ty_Either, bbc), bbd)) → new_esEs1(vxw300, vxw4000, bbc, bbd)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), app(ty_[], cc), cd, ce) → new_esEs(vxw300, vxw4000, cc)
new_esEs(:(vxw300, vxw301), :(vxw4000, vxw4001), cb) → new_esEs(vxw301, vxw4001, cb)
new_esEs3(@2(vxw300, vxw301), @2(vxw4000, vxw4001), app(ty_Maybe, bcg), bca) → new_esEs2(vxw300, vxw4000, bcg)
new_esEs3(@2(vxw300, vxw301), @2(vxw4000, vxw4001), bdb, app(app(ty_Either, bdg), bdh)) → new_esEs1(vxw301, vxw4001, bdg, bdh)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), dg, cd, app(app(app(ty_@3, fb), fc), fd)) → new_esEs0(vxw302, vxw4002, fb, fc, fd)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), dg, app(ty_[], dh), ce) → new_esEs(vxw301, vxw4001, dh)
new_esEs1(Left(vxw300), Left(vxw4000), app(ty_Maybe, hb), gd) → new_esEs2(vxw300, vxw4000, hb)
new_esEs3(@2(vxw300, vxw301), @2(vxw4000, vxw4001), app(app(ty_@2, bch), bda), bca) → new_esEs3(vxw300, vxw4000, bch, bda)
new_esEs(:(vxw300, vxw301), :(vxw4000, vxw4001), app(app(app(ty_@3, bb), bc), bd)) → new_esEs0(vxw300, vxw4000, bb, bc, bd)
new_esEs(:(vxw300, vxw301), :(vxw4000, vxw4001), app(app(ty_@2, bh), ca)) → new_esEs3(vxw300, vxw4000, bh, ca)
new_esEs2(Just(vxw300), Just(vxw4000), app(app(ty_@2, bbf), bbg)) → new_esEs3(vxw300, vxw4000, bbf, bbg)
new_esEs3(@2(vxw300, vxw301), @2(vxw4000, vxw4001), bdb, app(app(app(ty_@3, bdd), bde), bdf)) → new_esEs0(vxw301, vxw4001, bdd, bde, bdf)
new_esEs(:(vxw300, vxw301), :(vxw4000, vxw4001), app(app(ty_Either, be), bf)) → new_esEs1(vxw300, vxw4000, be, bf)
new_esEs1(Right(vxw300), Right(vxw4000), he, app(ty_[], hf)) → new_esEs(vxw300, vxw4000, hf)
new_esEs1(Left(vxw300), Left(vxw4000), app(ty_[], gc), gd) → new_esEs(vxw300, vxw4000, gc)
new_esEs1(Right(vxw300), Right(vxw4000), he, app(app(ty_@2, bae), baf)) → new_esEs3(vxw300, vxw4000, bae, baf)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), dg, app(ty_Maybe, ef), ce) → new_esEs2(vxw301, vxw4001, ef)
new_esEs1(Right(vxw300), Right(vxw4000), he, app(ty_Maybe, bad)) → new_esEs2(vxw300, vxw4000, bad)
new_esEs(:(vxw300, vxw301), :(vxw4000, vxw4001), app(ty_[], ba)) → new_esEs(vxw300, vxw4000, ba)
new_esEs0(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), app(app(app(ty_@3, cf), cg), da), cd, ce) → new_esEs0(vxw300, vxw4000, cf, cg, da)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_ltEs1(Left(vxw110), Left(vxw100), app(ty_[], eh), fa) → new_ltEs0(vxw110, vxw100, eh)
new_ltEs0(:(vxw110, vxw111), :(vxw100, vxw101), ba) → new_compare(vxw111, vxw101, ba)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), app(ty_Maybe, bag), hf, hg) → new_lt3(vxw110, vxw100, bag)
new_ltEs1(Left(vxw110), Left(vxw100), app(app(ty_Either, fd), ff), fa) → new_ltEs1(vxw110, vxw100, fd, ff)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), bah, hf, app(app(app(ty_@3, bcg), bch), bda)) → new_ltEs2(vxw112, vxw102, bcg, bch, bda)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), bah, app(ty_Maybe, bca), hg) → new_lt3(vxw111, vxw101, bca)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), bah, hf, app(ty_[], bcb)) → new_ltEs0(vxw112, vxw102, bcb)
new_compare23(vxw110, vxw100, False, de) → new_ltEs3(vxw110, vxw100, de)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), app(app(ty_Either, bab), bac), hf, hg) → new_lt1(vxw110, vxw100, bab, bac)
new_compare2(vxw110, vxw100, cg, da) → new_compare21(vxw110, vxw100, new_esEs5(vxw110, vxw100, cg, da), cg, da)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), bah, app(app(app(ty_@3, bbf), bbg), bbh), hg) → new_lt2(vxw111, vxw101, bbf, bbg, bbh)
new_ltEs1(Left(vxw110), Left(vxw100), app(app(ty_@2, fb), fc), fa) → new_ltEs(vxw110, vxw100, fb, fc)
new_lt3(vxw110, vxw100, de) → new_compare23(vxw110, vxw100, new_esEs7(vxw110, vxw100, de), de)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), bah, hf, app(app(ty_Either, bce), bcf)) → new_ltEs1(vxw112, vxw102, bce, bcf)
new_ltEs(@2(vxw110, vxw111), @2(vxw100, vxw101), df, app(ty_[], dg)) → new_ltEs0(vxw111, vxw101, dg)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), bah, app(app(ty_Either, bbd), bbe), hg) → new_lt1(vxw111, vxw101, bbd, bbe)
new_ltEs(@2(vxw110, vxw111), @2(vxw100, vxw101), df, app(ty_Maybe, eg)) → new_ltEs3(vxw111, vxw101, eg)
new_primCompAux(vxw110, vxw100, vxw36, app(ty_[], bb)) → new_compare(vxw110, vxw100, bb)
new_ltEs(@2(vxw110, vxw111), @2(vxw100, vxw101), app(ty_[], ce), cf) → new_compare(vxw110, vxw100, ce)
new_compare3(vxw110, vxw100, db, dc, dd) → new_compare22(vxw110, vxw100, new_esEs6(vxw110, vxw100, db, dc, dd), db, dc, dd)
new_ltEs1(Left(vxw110), Left(vxw100), app(app(app(ty_@3, fg), fh), ga), fa) → new_ltEs2(vxw110, vxw100, fg, fh, ga)
new_ltEs(@2(vxw110, vxw111), @2(vxw100, vxw101), df, app(app(app(ty_@3, ed), ee), ef)) → new_ltEs2(vxw111, vxw101, ed, ee, ef)
new_ltEs1(Right(vxw110), Right(vxw100), gc, app(app(ty_@2, ge), gf)) → new_ltEs(vxw110, vxw100, ge, gf)
new_lt(vxw110, vxw100, ce) → new_compare(vxw110, vxw100, ce)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), bah, app(ty_[], bba), hg) → new_lt(vxw111, vxw101, bba)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), bah, app(app(ty_@2, bbb), bbc), hg) → new_lt0(vxw111, vxw101, bbb, bbc)
new_ltEs(@2(vxw110, vxw111), @2(vxw100, vxw101), app(ty_Maybe, de), cf) → new_compare23(vxw110, vxw100, new_esEs7(vxw110, vxw100, de), de)
new_compare21(vxw110, vxw100, False, cg, da) → new_ltEs1(vxw110, vxw100, cg, da)
new_primCompAux(vxw110, vxw100, vxw36, app(app(ty_Either, be), bf)) → new_compare2(vxw110, vxw100, be, bf)
new_ltEs(@2(vxw110, vxw111), @2(vxw100, vxw101), app(app(app(ty_@3, db), dc), dd), cf) → new_compare22(vxw110, vxw100, new_esEs6(vxw110, vxw100, db, dc, dd), db, dc, dd)
new_lt0(vxw110, vxw100, cc, cd) → new_compare20(vxw110, vxw100, new_esEs4(vxw110, vxw100, cc, cd), cc, cd)
new_ltEs0(:(vxw110, vxw111), :(vxw100, vxw101), ba) → new_primCompAux(vxw110, vxw100, new_compare0(vxw111, vxw101, ba), ba)
new_ltEs1(Right(vxw110), Right(vxw100), gc, app(app(app(ty_@3, ha), hb), hc)) → new_ltEs2(vxw110, vxw100, ha, hb, hc)
new_compare20(vxw110, vxw100, False, cc, cd) → new_ltEs(vxw110, vxw100, cc, cd)
new_lt2(vxw110, vxw100, db, dc, dd) → new_compare22(vxw110, vxw100, new_esEs6(vxw110, vxw100, db, dc, dd), db, dc, dd)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), bah, hf, app(app(ty_@2, bcc), bcd)) → new_ltEs(vxw112, vxw102, bcc, bcd)
new_ltEs(@2(vxw110, vxw111), @2(vxw100, vxw101), app(app(ty_Either, cg), da), cf) → new_compare21(vxw110, vxw100, new_esEs5(vxw110, vxw100, cg, da), cg, da)
new_ltEs1(Right(vxw110), Right(vxw100), gc, app(ty_Maybe, hd)) → new_ltEs3(vxw110, vxw100, hd)
new_ltEs3(Just(vxw110), Just(vxw100), app(ty_[], bdc)) → new_ltEs0(vxw110, vxw100, bdc)
new_compare(:(vxw110, vxw111), :(vxw100, vxw101), ba) → new_compare(vxw111, vxw101, ba)
new_primCompAux(vxw110, vxw100, vxw36, app(app(app(ty_@3, bg), bh), ca)) → new_compare3(vxw110, vxw100, bg, bh, ca)
new_compare(:(vxw110, vxw111), :(vxw100, vxw101), ba) → new_primCompAux(vxw110, vxw100, new_compare0(vxw111, vxw101, ba), ba)
new_ltEs1(Left(vxw110), Left(vxw100), app(ty_Maybe, gb), fa) → new_ltEs3(vxw110, vxw100, gb)
new_ltEs(@2(vxw110, vxw111), @2(vxw100, vxw101), df, app(app(ty_@2, dh), ea)) → new_ltEs(vxw111, vxw101, dh, ea)
new_ltEs1(Right(vxw110), Right(vxw100), gc, app(app(ty_Either, gg), gh)) → new_ltEs1(vxw110, vxw100, gg, gh)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), app(app(app(ty_@3, bad), bae), baf), hf, hg) → new_lt2(vxw110, vxw100, bad, bae, baf)
new_ltEs3(Just(vxw110), Just(vxw100), app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs2(vxw110, vxw100, bdh, bea, beb)
new_ltEs3(Just(vxw110), Just(vxw100), app(app(ty_Either, bdf), bdg)) → new_ltEs1(vxw110, vxw100, bdf, bdg)
new_compare4(vxw110, vxw100, de) → new_compare23(vxw110, vxw100, new_esEs7(vxw110, vxw100, de), de)
new_primCompAux(vxw110, vxw100, vxw36, app(ty_Maybe, cb)) → new_compare4(vxw110, vxw100, cb)
new_lt1(vxw110, vxw100, cg, da) → new_compare21(vxw110, vxw100, new_esEs5(vxw110, vxw100, cg, da), cg, da)
new_ltEs3(Just(vxw110), Just(vxw100), app(app(ty_@2, bdd), bde)) → new_ltEs(vxw110, vxw100, bdd, bde)
new_ltEs(@2(vxw110, vxw111), @2(vxw100, vxw101), app(app(ty_@2, cc), cd), cf) → new_compare20(vxw110, vxw100, new_esEs4(vxw110, vxw100, cc, cd), cc, cd)
new_ltEs(@2(vxw110, vxw111), @2(vxw100, vxw101), df, app(app(ty_Either, eb), ec)) → new_ltEs1(vxw111, vxw101, eb, ec)
new_compare1(vxw110, vxw100, cc, cd) → new_compare20(vxw110, vxw100, new_esEs4(vxw110, vxw100, cc, cd), cc, cd)
new_primCompAux(vxw110, vxw100, vxw36, app(app(ty_@2, bc), bd)) → new_compare1(vxw110, vxw100, bc, bd)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), app(app(ty_@2, hh), baa), hf, hg) → new_lt0(vxw110, vxw100, hh, baa)
new_ltEs1(Right(vxw110), Right(vxw100), gc, app(ty_[], gd)) → new_ltEs0(vxw110, vxw100, gd)
new_compare22(vxw110, vxw100, False, db, dc, dd) → new_ltEs2(vxw110, vxw100, db, dc, dd)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), app(ty_[], he), hf, hg) → new_lt(vxw110, vxw100, he)
new_ltEs2(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), bah, hf, app(ty_Maybe, bdb)) → new_ltEs3(vxw112, vxw102, bdb)
new_ltEs3(Just(vxw110), Just(vxw100), app(ty_Maybe, bec)) → new_ltEs3(vxw110, vxw100, bec)

The TRS R consists of the following rules:

new_esEs25(vxw300, vxw4000, app(ty_[], cga)) → new_esEs14(vxw300, vxw4000, cga)
new_esEs22(vxw302, vxw4002, ty_Double) → new_esEs17(vxw302, vxw4002)
new_esEs7(Just(vxw300), Just(vxw4000), app(ty_Maybe, cee)) → new_esEs7(vxw300, vxw4000, cee)
new_esEs20(vxw300, vxw4000, app(ty_Maybe, cad)) → new_esEs7(vxw300, vxw4000, cad)
new_esEs24(vxw111, vxw101, app(app(ty_Either, bbd), bbe)) → new_esEs5(vxw111, vxw101, bbd, bbe)
new_esEs26(vxw300, vxw4000, app(ty_Ratio, dag)) → new_esEs8(vxw300, vxw4000, dag)
new_esEs18(Char(vxw300), Char(vxw4000)) → new_primEqNat0(vxw300, vxw4000)
new_ltEs17(LT, LT) → True
new_compare15(vxw110, vxw100, ty_Integer) → new_compare18(vxw110, vxw100)
new_esEs7(Just(vxw300), Just(vxw4000), app(ty_Ratio, ceh)) → new_esEs8(vxw300, vxw4000, ceh)
new_ltEs8(Left(vxw110), Left(vxw100), ty_Ordering, fa) → new_ltEs17(vxw110, vxw100)
new_compare110(vxw110, vxw100, True, cg, da) → LT
new_esEs23(vxw110, vxw100, app(app(ty_Either, bab), bac)) → new_esEs5(vxw110, vxw100, bab, bac)
new_ltEs8(Right(vxw110), Right(vxw100), gc, app(app(app(ty_@3, ha), hb), hc)) → new_ltEs7(vxw110, vxw100, ha, hb, hc)
new_esEs23(vxw110, vxw100, app(app(ty_@2, hh), baa)) → new_esEs4(vxw110, vxw100, hh, baa)
new_lt11(vxw110, vxw100, ty_Char) → new_lt10(vxw110, vxw100)
new_ltEs6(vxw11, vxw10) → new_not(new_esEs13(new_compare9(vxw11, vxw10), GT))
new_esEs20(vxw300, vxw4000, ty_Char) → new_esEs18(vxw300, vxw4000)
new_esEs11(Integer(vxw300), Integer(vxw4000)) → new_primEqInt(vxw300, vxw4000)
new_esEs27(vxw301, vxw4001, app(ty_Maybe, dbf)) → new_esEs7(vxw301, vxw4001, dbf)
new_esEs28(vxw110, vxw100, ty_Integer) → new_esEs11(vxw110, vxw100)
new_esEs26(vxw300, vxw4000, ty_Integer) → new_esEs11(vxw300, vxw4000)
new_ltEs19(vxw111, vxw101, ty_Integer) → new_ltEs15(vxw111, vxw101)
new_esEs5(Left(vxw300), Left(vxw4000), ty_@0, bef) → new_esEs16(vxw300, vxw4000)
new_lt15(vxw110, vxw100, cc, cd) → new_esEs13(new_compare8(vxw110, vxw100, cc, cd), LT)
new_ltEs19(vxw111, vxw101, ty_Float) → new_ltEs4(vxw111, vxw101)
new_ltEs8(Left(vxw110), Left(vxw100), ty_Float, fa) → new_ltEs4(vxw110, vxw100)
new_ltEs10(Just(vxw110), Just(vxw100), ty_Char) → new_ltEs5(vxw110, vxw100)
new_ltEs10(Just(vxw110), Just(vxw100), ty_Float) → new_ltEs4(vxw110, vxw100)
new_primMulNat0(Zero, Zero) → Zero
new_esEs21(vxw301, vxw4001, ty_Int) → new_esEs12(vxw301, vxw4001)
new_esEs28(vxw110, vxw100, ty_Bool) → new_esEs19(vxw110, vxw100)
new_esEs22(vxw302, vxw4002, app(ty_Ratio, cdc)) → new_esEs8(vxw302, vxw4002, cdc)
new_esEs26(vxw300, vxw4000, ty_Float) → new_esEs15(vxw300, vxw4000)
new_compare13(vxw110, vxw100, False, db, dc, dd) → GT
new_compare29(vxw110, vxw100, True) → EQ
new_ltEs19(vxw111, vxw101, ty_Double) → new_ltEs9(vxw111, vxw101)
new_esEs25(vxw300, vxw4000, app(app(ty_@2, cgh), cha)) → new_esEs4(vxw300, vxw4000, cgh, cha)
new_ltEs8(Left(vxw110), Left(vxw100), ty_Double, fa) → new_ltEs9(vxw110, vxw100)
new_lt18(vxw110, vxw100, db, dc, dd) → new_esEs13(new_compare28(vxw110, vxw100, db, dc, dd), LT)
new_compare26(vxw110, vxw100, False, cg, da) → new_compare110(vxw110, vxw100, new_ltEs8(vxw110, vxw100, cg, da), cg, da)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, ty_Integer) → new_esEs11(vxw300, vxw4000)
new_lt20(vxw110, vxw100, app(app(app(ty_@3, db), dc), dd)) → new_lt18(vxw110, vxw100, db, dc, dd)
new_esEs13(EQ, EQ) → True
new_ltEs8(Right(vxw110), Right(vxw100), gc, app(ty_Maybe, hd)) → new_ltEs10(vxw110, vxw100, hd)
new_lt11(vxw110, vxw100, ty_@0) → new_lt14(vxw110, vxw100)
new_esEs10(vxw301, vxw4001, ty_Int) → new_esEs12(vxw301, vxw4001)
new_compare19(vxw11, vxw10) → new_primCmpInt(vxw11, vxw10)
new_esEs27(vxw301, vxw4001, app(ty_Ratio, dca)) → new_esEs8(vxw301, vxw4001, dca)
new_ltEs10(Just(vxw110), Just(vxw100), ty_Integer) → new_ltEs15(vxw110, vxw100)
new_compare0(:(vxw110, vxw111), :(vxw100, vxw101), ba) → new_primCompAux0(vxw110, vxw100, new_compare0(vxw111, vxw101, ba), ba)
new_esEs24(vxw111, vxw101, app(ty_Ratio, cff)) → new_esEs8(vxw111, vxw101, cff)
new_compare25(vxw110, vxw100, False, cc, cd) → new_compare113(vxw110, vxw100, new_ltEs14(vxw110, vxw100, cc, cd), cc, cd)
new_ltEs8(Right(vxw110), Right(vxw100), gc, ty_Bool) → new_ltEs11(vxw110, vxw100)
new_lt20(vxw110, vxw100, ty_Integer) → new_lt16(vxw110, vxw100)
new_esEs7(Just(vxw300), Just(vxw4000), app(app(ty_@2, cef), ceg)) → new_esEs4(vxw300, vxw4000, cef, ceg)
new_ltEs8(Right(vxw110), Right(vxw100), gc, ty_Int) → new_ltEs16(vxw110, vxw100)
new_esEs22(vxw302, vxw4002, app(ty_[], ccb)) → new_esEs14(vxw302, vxw4002, ccb)
new_ltEs18(vxw112, vxw102, ty_Float) → new_ltEs4(vxw112, vxw102)
new_ltEs10(Just(vxw110), Just(vxw100), app(ty_[], bdc)) → new_ltEs12(vxw110, vxw100, bdc)
new_ltEs17(EQ, LT) → False
new_ltEs8(Left(vxw110), Left(vxw100), ty_Char, fa) → new_ltEs5(vxw110, vxw100)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, app(app(app(ty_@3, bgb), bgc), bgd)) → new_esEs6(vxw300, vxw4000, bgb, bgc, bgd)
new_ltEs9(vxw11, vxw10) → new_not(new_esEs13(new_compare12(vxw11, vxw10), GT))
new_pePe(False, vxw35) → vxw35
new_esEs14([], [], cfh) → True
new_esEs13(LT, EQ) → False
new_esEs13(EQ, LT) → False
new_ltEs16(vxw11, vxw10) → new_not(new_esEs13(new_compare19(vxw11, vxw10), GT))
new_ltEs18(vxw112, vxw102, app(app(app(ty_@3, bcg), bch), bda)) → new_ltEs7(vxw112, vxw102, bcg, bch, bda)
new_lt12(vxw111, vxw101, app(ty_Maybe, bca)) → new_lt19(vxw111, vxw101, bca)
new_esEs27(vxw301, vxw4001, ty_@0) → new_esEs16(vxw301, vxw4001)
new_esEs22(vxw302, vxw4002, ty_Ordering) → new_esEs13(vxw302, vxw4002)
new_esEs21(vxw301, vxw4001, ty_Ordering) → new_esEs13(vxw301, vxw4001)
new_esEs24(vxw111, vxw101, app(ty_Maybe, bca)) → new_esEs7(vxw111, vxw101, bca)
new_esEs22(vxw302, vxw4002, app(app(ty_@2, cda), cdb)) → new_esEs4(vxw302, vxw4002, cda, cdb)
new_esEs14(:(vxw300, vxw301), :(vxw4000, vxw4001), cfh) → new_asAs(new_esEs25(vxw300, vxw4000, cfh), new_esEs14(vxw301, vxw4001, cfh))
new_esEs23(vxw110, vxw100, app(ty_Maybe, bag)) → new_esEs7(vxw110, vxw100, bag)
new_ltEs18(vxw112, vxw102, ty_Int) → new_ltEs16(vxw112, vxw102)
new_esEs7(Just(vxw300), Just(vxw4000), ty_@0) → new_esEs16(vxw300, vxw4000)
new_ltEs13(vxw11, vxw10, chc) → new_not(new_esEs13(new_compare17(vxw11, vxw10, chc), GT))
new_ltEs11(False, True) → True
new_compare111(vxw110, vxw100, False) → GT
new_compare111(vxw110, vxw100, True) → LT
new_ltEs10(Just(vxw110), Just(vxw100), ty_Double) → new_ltEs9(vxw110, vxw100)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, app(app(ty_@2, bgh), bha)) → new_esEs4(vxw300, vxw4000, bgh, bha)
new_primCmpNat0(Zero, Succ(vxw1000)) → LT
new_esEs22(vxw302, vxw4002, ty_Float) → new_esEs15(vxw302, vxw4002)
new_ltEs8(Left(vxw110), Left(vxw100), app(ty_[], eh), fa) → new_ltEs12(vxw110, vxw100, eh)
new_esEs26(vxw300, vxw4000, ty_Double) → new_esEs17(vxw300, vxw4000)
new_esEs25(vxw300, vxw4000, app(app(ty_Either, cge), cgf)) → new_esEs5(vxw300, vxw4000, cge, cgf)
new_ltEs18(vxw112, vxw102, ty_@0) → new_ltEs6(vxw112, vxw102)
new_lt11(vxw110, vxw100, app(app(ty_@2, hh), baa)) → new_lt15(vxw110, vxw100, hh, baa)
new_ltEs10(Just(vxw110), Just(vxw100), ty_Bool) → new_ltEs11(vxw110, vxw100)
new_esEs5(Left(vxw300), Left(vxw4000), app(ty_Ratio, bfg), bef) → new_esEs8(vxw300, vxw4000, bfg)
new_ltEs7(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), bah, hf, hg) → new_pePe(new_lt11(vxw110, vxw100, bah), new_asAs(new_esEs23(vxw110, vxw100, bah), new_pePe(new_lt12(vxw111, vxw101, hf), new_asAs(new_esEs24(vxw111, vxw101, hf), new_ltEs18(vxw112, vxw102, hg)))))
new_esEs25(vxw300, vxw4000, ty_Double) → new_esEs17(vxw300, vxw4000)
new_esEs24(vxw111, vxw101, ty_Int) → new_esEs12(vxw111, vxw101)
new_esEs23(vxw110, vxw100, ty_Char) → new_esEs18(vxw110, vxw100)
new_lt13(vxw110, vxw100) → new_esEs13(new_compare16(vxw110, vxw100), LT)
new_esEs20(vxw300, vxw4000, ty_Integer) → new_esEs11(vxw300, vxw4000)
new_ltEs4(vxw11, vxw10) → new_not(new_esEs13(new_compare5(vxw11, vxw10), GT))
new_esEs20(vxw300, vxw4000, app(app(app(ty_@3, bhg), bhh), caa)) → new_esEs6(vxw300, vxw4000, bhg, bhh, caa)
new_ltEs10(Just(vxw110), Just(vxw100), ty_Int) → new_ltEs16(vxw110, vxw100)
new_esEs27(vxw301, vxw4001, ty_Ordering) → new_esEs13(vxw301, vxw4001)
new_ltEs10(Just(vxw110), Just(vxw100), app(ty_Maybe, bec)) → new_ltEs10(vxw110, vxw100, bec)
new_compare0([], [], ba) → EQ
new_esEs23(vxw110, vxw100, ty_@0) → new_esEs16(vxw110, vxw100)
new_pePe(True, vxw35) → True
new_primEqNat0(Zero, Zero) → True
new_primMulNat0(Succ(vxw30000), Succ(vxw400000)) → new_primPlusNat1(new_primMulNat0(vxw30000, Succ(vxw400000)), vxw400000)
new_esEs13(LT, GT) → False
new_esEs13(GT, LT) → False
new_esEs28(vxw110, vxw100, ty_@0) → new_esEs16(vxw110, vxw100)
new_ltEs19(vxw111, vxw101, app(app(ty_Either, eb), ec)) → new_ltEs8(vxw111, vxw101, eb, ec)
new_lt20(vxw110, vxw100, app(ty_[], ce)) → new_lt9(vxw110, vxw100, ce)
new_esEs26(vxw300, vxw4000, ty_@0) → new_esEs16(vxw300, vxw4000)
new_esEs19(True, True) → True
new_ltEs17(GT, LT) → False
new_compare29(vxw110, vxw100, False) → new_compare112(vxw110, vxw100, new_ltEs11(vxw110, vxw100))
new_compare110(vxw110, vxw100, False, cg, da) → GT
new_ltEs10(Just(vxw110), Just(vxw100), app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs7(vxw110, vxw100, bdh, bea, beb)
new_ltEs8(Right(vxw110), Right(vxw100), gc, ty_Ordering) → new_ltEs17(vxw110, vxw100)
new_sr(vxw300, vxw4000) → new_primMulInt(vxw300, vxw4000)
new_esEs24(vxw111, vxw101, ty_Ordering) → new_esEs13(vxw111, vxw101)
new_lt6(vxw110, vxw100, cde) → new_esEs13(new_compare17(vxw110, vxw100, cde), LT)
new_compare16(vxw110, vxw100) → new_compare29(vxw110, vxw100, new_esEs19(vxw110, vxw100))
new_ltEs8(Right(vxw110), Right(vxw100), gc, ty_@0) → new_ltEs6(vxw110, vxw100)
new_lt12(vxw111, vxw101, ty_Float) → new_lt7(vxw111, vxw101)
new_esEs26(vxw300, vxw4000, ty_Int) → new_esEs12(vxw300, vxw4000)
new_esEs26(vxw300, vxw4000, app(app(app(ty_@3, chg), chh), daa)) → new_esEs6(vxw300, vxw4000, chg, chh, daa)
new_esEs23(vxw110, vxw100, ty_Int) → new_esEs12(vxw110, vxw100)
new_esEs9(vxw300, vxw4000, ty_Integer) → new_esEs11(vxw300, vxw4000)
new_primEqInt(Neg(Succ(vxw3000)), Neg(Succ(vxw40000))) → new_primEqNat0(vxw3000, vxw40000)
new_esEs7(Just(vxw300), Just(vxw4000), ty_Double) → new_esEs17(vxw300, vxw4000)
new_compare113(vxw110, vxw100, True, cc, cd) → LT
new_esEs22(vxw302, vxw4002, app(app(app(ty_@3, ccc), ccd), cce)) → new_esEs6(vxw302, vxw4002, ccc, ccd, cce)
new_lt20(vxw110, vxw100, app(ty_Maybe, de)) → new_lt19(vxw110, vxw100, de)
new_ltEs17(LT, GT) → True
new_esEs24(vxw111, vxw101, ty_Bool) → new_esEs19(vxw111, vxw101)
new_esEs21(vxw301, vxw4001, ty_@0) → new_esEs16(vxw301, vxw4001)
new_esEs5(Left(vxw300), Left(vxw4000), app(ty_[], bee), bef) → new_esEs14(vxw300, vxw4000, bee)
new_compare15(vxw110, vxw100, ty_Char) → new_compare6(vxw110, vxw100)
new_esEs14([], :(vxw4000, vxw4001), cfh) → False
new_esEs14(:(vxw300, vxw301), [], cfh) → False
new_esEs25(vxw300, vxw4000, ty_Char) → new_esEs18(vxw300, vxw4000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs19(False, False) → True
new_esEs24(vxw111, vxw101, app(app(app(ty_@3, bbf), bbg), bbh)) → new_esEs6(vxw111, vxw101, bbf, bbg, bbh)
new_esEs27(vxw301, vxw4001, ty_Int) → new_esEs12(vxw301, vxw4001)
new_esEs5(Left(vxw300), Left(vxw4000), app(ty_Maybe, bfd), bef) → new_esEs7(vxw300, vxw4000, bfd)
new_esEs5(Left(vxw300), Left(vxw4000), ty_Ordering, bef) → new_esEs13(vxw300, vxw4000)
new_esEs21(vxw301, vxw4001, ty_Integer) → new_esEs11(vxw301, vxw4001)
new_esEs27(vxw301, vxw4001, app(app(ty_Either, dbd), dbe)) → new_esEs5(vxw301, vxw4001, dbd, dbe)
new_esEs26(vxw300, vxw4000, app(ty_[], chf)) → new_esEs14(vxw300, vxw4000, chf)
new_ltEs8(Left(vxw110), Left(vxw100), app(ty_Maybe, gb), fa) → new_ltEs10(vxw110, vxw100, gb)
new_esEs9(vxw300, vxw4000, ty_Int) → new_esEs12(vxw300, vxw4000)
new_esEs5(Left(vxw300), Left(vxw4000), ty_Integer, bef) → new_esEs11(vxw300, vxw4000)
new_primEqInt(Neg(Zero), Neg(Succ(vxw40000))) → False
new_primEqInt(Neg(Succ(vxw3000)), Neg(Zero)) → False
new_compare26(vxw110, vxw100, True, cg, da) → EQ
new_primPlusNat1(Zero, vxw400000) → Succ(vxw400000)
new_lt11(vxw110, vxw100, app(ty_[], he)) → new_lt9(vxw110, vxw100, he)
new_esEs28(vxw110, vxw100, app(ty_[], ce)) → new_esEs14(vxw110, vxw100, ce)
new_esEs22(vxw302, vxw4002, ty_Int) → new_esEs12(vxw302, vxw4002)
new_ltEs17(EQ, EQ) → True
new_ltEs19(vxw111, vxw101, ty_Ordering) → new_ltEs17(vxw111, vxw101)
new_lt11(vxw110, vxw100, ty_Bool) → new_lt13(vxw110, vxw100)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt7(vxw110, vxw100) → new_esEs13(new_compare5(vxw110, vxw100), LT)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_ltEs8(Right(vxw110), Right(vxw100), gc, app(ty_[], gd)) → new_ltEs12(vxw110, vxw100, gd)
new_esEs27(vxw301, vxw4001, ty_Float) → new_esEs15(vxw301, vxw4001)
new_compare15(vxw110, vxw100, app(app(app(ty_@3, bg), bh), ca)) → new_compare28(vxw110, vxw100, bg, bh, ca)
new_lt16(vxw110, vxw100) → new_esEs13(new_compare18(vxw110, vxw100), LT)
new_esEs7(Just(vxw300), Just(vxw4000), ty_Integer) → new_esEs11(vxw300, vxw4000)
new_lt11(vxw110, vxw100, ty_Int) → new_lt17(vxw110, vxw100)
new_primCmpNat0(Succ(vxw1100), Succ(vxw1000)) → new_primCmpNat0(vxw1100, vxw1000)
new_compare112(vxw110, vxw100, True) → LT
new_esEs13(LT, LT) → True
new_primEqInt(Pos(Succ(vxw3000)), Pos(Succ(vxw40000))) → new_primEqNat0(vxw3000, vxw40000)
new_ltEs8(Right(vxw110), Right(vxw100), gc, ty_Double) → new_ltEs9(vxw110, vxw100)
new_ltEs19(vxw111, vxw101, app(app(app(ty_@3, ed), ee), ef)) → new_ltEs7(vxw111, vxw101, ed, ee, ef)
new_esEs7(Just(vxw300), Just(vxw4000), ty_Char) → new_esEs18(vxw300, vxw4000)
new_compare15(vxw110, vxw100, app(app(ty_Either, be), bf)) → new_compare10(vxw110, vxw100, be, bf)
new_esEs26(vxw300, vxw4000, ty_Bool) → new_esEs19(vxw300, vxw4000)
new_ltEs11(True, False) → False
new_compare14(vxw110, vxw100, False, de) → GT
new_esEs5(Right(vxw300), Right(vxw4000), bfh, app(app(ty_Either, bge), bgf)) → new_esEs5(vxw300, vxw4000, bge, bgf)
new_primEqNat0(Succ(vxw3000), Succ(vxw40000)) → new_primEqNat0(vxw3000, vxw40000)
new_esEs24(vxw111, vxw101, ty_@0) → new_esEs16(vxw111, vxw101)
new_esEs23(vxw110, vxw100, ty_Integer) → new_esEs11(vxw110, vxw100)
new_compare17(:%(vxw110, vxw111), :%(vxw100, vxw101), ty_Int) → new_compare19(new_sr(vxw110, vxw101), new_sr(vxw100, vxw111))
new_esEs21(vxw301, vxw4001, app(ty_[], cah)) → new_esEs14(vxw301, vxw4001, cah)
new_ltEs10(Just(vxw110), Just(vxw100), ty_Ordering) → new_ltEs17(vxw110, vxw100)
new_compare113(vxw110, vxw100, False, cc, cd) → GT
new_compare8(vxw110, vxw100, cc, cd) → new_compare25(vxw110, vxw100, new_esEs4(vxw110, vxw100, cc, cd), cc, cd)
new_primCompAux00(vxw41, LT) → LT
new_lt12(vxw111, vxw101, ty_Bool) → new_lt13(vxw111, vxw101)
new_lt12(vxw111, vxw101, ty_Ordering) → new_lt4(vxw111, vxw101)
new_primCmpInt(Neg(Succ(vxw1100)), Neg(vxw100)) → new_primCmpNat0(vxw100, Succ(vxw1100))
new_esEs20(vxw300, vxw4000, ty_Float) → new_esEs15(vxw300, vxw4000)
new_esEs26(vxw300, vxw4000, app(app(ty_@2, dae), daf)) → new_esEs4(vxw300, vxw4000, dae, daf)
new_ltEs18(vxw112, vxw102, ty_Bool) → new_ltEs11(vxw112, vxw102)
new_compare24(vxw110, vxw100, False, de) → new_compare14(vxw110, vxw100, new_ltEs10(vxw110, vxw100, de), de)
new_primCompAux0(vxw110, vxw100, vxw36, ba) → new_primCompAux00(vxw36, new_compare15(vxw110, vxw100, ba))
new_lt11(vxw110, vxw100, app(app(app(ty_@3, bad), bae), baf)) → new_lt18(vxw110, vxw100, bad, bae, baf)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, ty_@0) → new_esEs16(vxw300, vxw4000)
new_lt12(vxw111, vxw101, ty_@0) → new_lt14(vxw111, vxw101)
new_esEs7(Nothing, Nothing, cdf) → True
new_primEqInt(Pos(Zero), Pos(Succ(vxw40000))) → False
new_primEqInt(Pos(Succ(vxw3000)), Pos(Zero)) → False
new_lt20(vxw110, vxw100, ty_Int) → new_lt17(vxw110, vxw100)
new_primPlusNat0(Succ(vxw3700), Zero) → Succ(vxw3700)
new_primPlusNat0(Zero, Succ(vxw4000000)) → Succ(vxw4000000)
new_esEs24(vxw111, vxw101, ty_Float) → new_esEs15(vxw111, vxw101)
new_esEs21(vxw301, vxw4001, ty_Bool) → new_esEs19(vxw301, vxw4001)
new_primCmpNat0(Zero, Zero) → EQ
new_esEs23(vxw110, vxw100, ty_Ordering) → new_esEs13(vxw110, vxw100)
new_primCmpNat0(Succ(vxw1100), Zero) → GT
new_lt12(vxw111, vxw101, app(ty_[], bba)) → new_lt9(vxw111, vxw101, bba)
new_ltEs19(vxw111, vxw101, app(ty_Ratio, dcb)) → new_ltEs13(vxw111, vxw101, dcb)
new_esEs5(Left(vxw300), Left(vxw4000), ty_Char, bef) → new_esEs18(vxw300, vxw4000)
new_lt20(vxw110, vxw100, app(ty_Ratio, cde)) → new_lt6(vxw110, vxw100, cde)
new_esEs7(Just(vxw300), Just(vxw4000), app(app(ty_Either, cec), ced)) → new_esEs5(vxw300, vxw4000, cec, ced)
new_primCmpInt(Neg(Zero), Pos(Succ(vxw1000))) → LT
new_compare9(@0, @0) → EQ
new_esEs19(False, True) → False
new_esEs19(True, False) → False
new_esEs21(vxw301, vxw4001, ty_Float) → new_esEs15(vxw301, vxw4001)
new_esEs20(vxw300, vxw4000, app(app(ty_Either, cab), cac)) → new_esEs5(vxw300, vxw4000, cab, cac)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, ty_Bool) → new_esEs19(vxw300, vxw4000)
new_esEs28(vxw110, vxw100, app(ty_Ratio, cde)) → new_esEs8(vxw110, vxw100, cde)
new_esEs17(Double(vxw300, vxw301), Double(vxw4000, vxw4001)) → new_esEs12(new_sr(vxw300, vxw4000), new_sr(vxw301, vxw4001))
new_sr0(Integer(vxw1000), Integer(vxw1110)) → Integer(new_primMulInt(vxw1000, vxw1110))
new_ltEs8(Right(vxw110), Right(vxw100), gc, ty_Integer) → new_ltEs15(vxw110, vxw100)
new_esEs21(vxw301, vxw4001, ty_Double) → new_esEs17(vxw301, vxw4001)
new_primEqInt(Neg(Succ(vxw3000)), Pos(vxw4000)) → False
new_primEqInt(Pos(Succ(vxw3000)), Neg(vxw4000)) → False
new_esEs28(vxw110, vxw100, app(app(ty_Either, cg), da)) → new_esEs5(vxw110, vxw100, cg, da)
new_esEs25(vxw300, vxw4000, ty_Bool) → new_esEs19(vxw300, vxw4000)
new_esEs4(@2(vxw300, vxw301), @2(vxw4000, vxw4001), chd, che) → new_asAs(new_esEs26(vxw300, vxw4000, chd), new_esEs27(vxw301, vxw4001, che))
new_esEs24(vxw111, vxw101, app(app(ty_@2, bbb), bbc)) → new_esEs4(vxw111, vxw101, bbb, bbc)
new_esEs7(Nothing, Just(vxw4000), cdf) → False
new_esEs7(Just(vxw300), Nothing, cdf) → False
new_esEs20(vxw300, vxw4000, ty_@0) → new_esEs16(vxw300, vxw4000)
new_ltEs18(vxw112, vxw102, app(app(ty_@2, bcc), bcd)) → new_ltEs14(vxw112, vxw102, bcc, bcd)
new_compare18(Integer(vxw110), Integer(vxw100)) → new_primCmpInt(vxw110, vxw100)
new_compare10(vxw110, vxw100, cg, da) → new_compare26(vxw110, vxw100, new_esEs5(vxw110, vxw100, cg, da), cg, da)
new_primEqInt(Neg(Zero), Pos(Succ(vxw40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vxw40000))) → False
new_esEs5(Left(vxw300), Left(vxw4000), app(app(ty_@2, bfe), bff), bef) → new_esEs4(vxw300, vxw4000, bfe, bff)
new_compare15(vxw110, vxw100, ty_Ordering) → new_compare11(vxw110, vxw100)
new_primCompAux00(vxw41, EQ) → vxw41
new_primCmpInt(Pos(Zero), Pos(Succ(vxw1000))) → new_primCmpNat0(Zero, Succ(vxw1000))
new_esEs23(vxw110, vxw100, ty_Double) → new_esEs17(vxw110, vxw100)
new_lt20(vxw110, vxw100, ty_Bool) → new_lt13(vxw110, vxw100)
new_lt20(vxw110, vxw100, ty_Ordering) → new_lt4(vxw110, vxw100)
new_esEs23(vxw110, vxw100, ty_Bool) → new_esEs19(vxw110, vxw100)
new_ltEs8(Right(vxw110), Right(vxw100), gc, ty_Float) → new_ltEs4(vxw110, vxw100)
new_esEs22(vxw302, vxw4002, ty_Bool) → new_esEs19(vxw302, vxw4002)
new_ltEs18(vxw112, vxw102, ty_Ordering) → new_ltEs17(vxw112, vxw102)
new_esEs22(vxw302, vxw4002, ty_@0) → new_esEs16(vxw302, vxw4002)
new_esEs5(Left(vxw300), Left(vxw4000), ty_Double, bef) → new_esEs17(vxw300, vxw4000)
new_esEs25(vxw300, vxw4000, ty_Float) → new_esEs15(vxw300, vxw4000)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, ty_Char) → new_esEs18(vxw300, vxw4000)
new_ltEs10(Just(vxw110), Just(vxw100), app(app(ty_Either, bdf), bdg)) → new_ltEs8(vxw110, vxw100, bdf, bdg)
new_esEs21(vxw301, vxw4001, ty_Char) → new_esEs18(vxw301, vxw4001)
new_lt12(vxw111, vxw101, app(app(ty_@2, bbb), bbc)) → new_lt15(vxw111, vxw101, bbb, bbc)
new_ltEs10(Nothing, Nothing, cfa) → True
new_lt20(vxw110, vxw100, ty_Double) → new_lt5(vxw110, vxw100)
new_lt8(vxw110, vxw100, cg, da) → new_esEs13(new_compare10(vxw110, vxw100, cg, da), LT)
new_not(False) → True
new_ltEs8(Right(vxw110), Right(vxw100), gc, app(app(ty_Either, gg), gh)) → new_ltEs8(vxw110, vxw100, gg, gh)
new_compare24(vxw110, vxw100, True, de) → EQ
new_ltEs18(vxw112, vxw102, app(app(ty_Either, bce), bcf)) → new_ltEs8(vxw112, vxw102, bce, bcf)
new_ltEs18(vxw112, vxw102, app(ty_Ratio, cfg)) → new_ltEs13(vxw112, vxw102, cfg)
new_primCmpInt(Pos(Succ(vxw1100)), Pos(vxw100)) → new_primCmpNat0(Succ(vxw1100), vxw100)
new_ltEs8(Left(vxw110), Left(vxw100), app(app(app(ty_@3, fg), fh), ga), fa) → new_ltEs7(vxw110, vxw100, fg, fh, ga)
new_ltEs10(Just(vxw110), Just(vxw100), app(app(ty_@2, bdd), bde)) → new_ltEs14(vxw110, vxw100, bdd, bde)
new_ltEs19(vxw111, vxw101, app(ty_[], dg)) → new_ltEs12(vxw111, vxw101, dg)
new_lt10(vxw110, vxw100) → new_esEs13(new_compare6(vxw110, vxw100), LT)
new_ltEs8(Left(vxw110), Left(vxw100), ty_Int, fa) → new_ltEs16(vxw110, vxw100)
new_esEs24(vxw111, vxw101, app(ty_[], bba)) → new_esEs14(vxw111, vxw101, bba)
new_ltEs8(Right(vxw110), Right(vxw100), gc, app(app(ty_@2, ge), gf)) → new_ltEs14(vxw110, vxw100, ge, gf)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, ty_Ordering) → new_esEs13(vxw300, vxw4000)
new_compare0(:(vxw110, vxw111), [], ba) → GT
new_esEs22(vxw302, vxw4002, ty_Integer) → new_esEs11(vxw302, vxw4002)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, ty_Double) → new_esEs17(vxw300, vxw4000)
new_esEs5(Left(vxw300), Left(vxw4000), ty_Float, bef) → new_esEs15(vxw300, vxw4000)
new_ltEs11(False, False) → True
new_esEs5(Left(vxw300), Left(vxw4000), ty_Int, bef) → new_esEs12(vxw300, vxw4000)
new_compare12(Double(vxw110, vxw111), Double(vxw100, vxw101)) → new_compare19(new_sr(vxw110, vxw100), new_sr(vxw111, vxw101))
new_esEs26(vxw300, vxw4000, app(app(ty_Either, dab), dac)) → new_esEs5(vxw300, vxw4000, dab, dac)
new_compare11(vxw110, vxw100) → new_compare210(vxw110, vxw100, new_esEs13(vxw110, vxw100))
new_esEs5(Left(vxw300), Left(vxw4000), ty_Bool, bef) → new_esEs19(vxw300, vxw4000)
new_esEs25(vxw300, vxw4000, ty_Integer) → new_esEs11(vxw300, vxw4000)
new_esEs22(vxw302, vxw4002, ty_Char) → new_esEs18(vxw302, vxw4002)
new_primCmpInt(Pos(Succ(vxw1100)), Neg(vxw100)) → GT
new_esEs28(vxw110, vxw100, app(ty_Maybe, de)) → new_esEs7(vxw110, vxw100, de)
new_lt12(vxw111, vxw101, app(app(ty_Either, bbd), bbe)) → new_lt8(vxw111, vxw101, bbd, bbe)
new_lt12(vxw111, vxw101, app(app(app(ty_@3, bbf), bbg), bbh)) → new_lt18(vxw111, vxw101, bbf, bbg, bbh)
new_esEs21(vxw301, vxw4001, app(ty_Maybe, cbf)) → new_esEs7(vxw301, vxw4001, cbf)
new_primMulInt(Pos(vxw3000), Pos(vxw40000)) → Pos(new_primMulNat0(vxw3000, vxw40000))
new_esEs21(vxw301, vxw4001, app(app(ty_@2, cbg), cbh)) → new_esEs4(vxw301, vxw4001, cbg, cbh)
new_esEs24(vxw111, vxw101, ty_Integer) → new_esEs11(vxw111, vxw101)
new_esEs23(vxw110, vxw100, app(ty_Ratio, cfe)) → new_esEs8(vxw110, vxw100, cfe)
new_esEs20(vxw300, vxw4000, ty_Bool) → new_esEs19(vxw300, vxw4000)
new_esEs5(Left(vxw300), Right(vxw4000), bfh, bef) → False
new_esEs5(Right(vxw300), Left(vxw4000), bfh, bef) → False
new_primMulInt(Neg(vxw3000), Neg(vxw40000)) → Pos(new_primMulNat0(vxw3000, vxw40000))
new_esEs13(GT, GT) → True
new_compare5(Float(vxw110, vxw111), Float(vxw100, vxw101)) → new_compare19(new_sr(vxw110, vxw100), new_sr(vxw111, vxw101))
new_lt20(vxw110, vxw100, ty_@0) → new_lt14(vxw110, vxw100)
new_ltEs8(Left(vxw110), Left(vxw100), app(app(ty_Either, fd), ff), fa) → new_ltEs8(vxw110, vxw100, fd, ff)
new_primEqNat0(Succ(vxw3000), Zero) → False
new_primEqNat0(Zero, Succ(vxw40000)) → False
new_ltEs15(vxw11, vxw10) → new_not(new_esEs13(new_compare18(vxw11, vxw10), GT))
new_lt11(vxw110, vxw100, ty_Double) → new_lt5(vxw110, vxw100)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs19(vxw111, vxw101, ty_@0) → new_ltEs6(vxw111, vxw101)
new_compare25(vxw110, vxw100, True, cc, cd) → EQ
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs28(vxw110, vxw100, app(app(app(ty_@3, db), dc), dd)) → new_esEs6(vxw110, vxw100, db, dc, dd)
new_compare210(vxw110, vxw100, False) → new_compare111(vxw110, vxw100, new_ltEs17(vxw110, vxw100))
new_compare15(vxw110, vxw100, ty_Double) → new_compare12(vxw110, vxw100)
new_esEs20(vxw300, vxw4000, ty_Ordering) → new_esEs13(vxw300, vxw4000)
new_lt20(vxw110, vxw100, app(app(ty_Either, cg), da)) → new_lt8(vxw110, vxw100, cg, da)
new_esEs25(vxw300, vxw4000, ty_Int) → new_esEs12(vxw300, vxw4000)
new_esEs8(:%(vxw300, vxw301), :%(vxw4000, vxw4001), bed) → new_asAs(new_esEs9(vxw300, vxw4000, bed), new_esEs10(vxw301, vxw4001, bed))
new_esEs7(Just(vxw300), Just(vxw4000), ty_Bool) → new_esEs19(vxw300, vxw4000)
new_esEs27(vxw301, vxw4001, app(app(app(ty_@3, dba), dbb), dbc)) → new_esEs6(vxw301, vxw4001, dba, dbb, dbc)
new_esEs15(Float(vxw300, vxw301), Float(vxw4000, vxw4001)) → new_esEs12(new_sr(vxw300, vxw4000), new_sr(vxw301, vxw4001))
new_compare210(vxw110, vxw100, True) → EQ
new_esEs10(vxw301, vxw4001, ty_Integer) → new_esEs11(vxw301, vxw4001)
new_ltEs10(Just(vxw110), Just(vxw100), ty_@0) → new_ltEs6(vxw110, vxw100)
new_ltEs8(Left(vxw110), Left(vxw100), ty_@0, fa) → new_ltEs6(vxw110, vxw100)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, app(ty_Ratio, bhb)) → new_esEs8(vxw300, vxw4000, bhb)
new_ltEs5(vxw11, vxw10) → new_not(new_esEs13(new_compare6(vxw11, vxw10), GT))
new_primPlusNat1(Succ(vxw370), vxw400000) → Succ(Succ(new_primPlusNat0(vxw370, vxw400000)))
new_esEs23(vxw110, vxw100, app(ty_[], he)) → new_esEs14(vxw110, vxw100, he)
new_primCmpInt(Neg(Zero), Neg(Succ(vxw1000))) → new_primCmpNat0(Succ(vxw1000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vxw1000))) → GT
new_lt20(vxw110, vxw100, app(app(ty_@2, cc), cd)) → new_lt15(vxw110, vxw100, cc, cd)
new_ltEs8(Left(vxw110), Left(vxw100), ty_Integer, fa) → new_ltEs15(vxw110, vxw100)
new_esEs12(vxw30, vxw400) → new_primEqInt(vxw30, vxw400)
new_ltEs10(Just(vxw110), Nothing, cfa) → False
new_ltEs12(vxw11, vxw10, ba) → new_not(new_esEs13(new_compare0(vxw11, vxw10, ba), GT))
new_compare28(vxw110, vxw100, db, dc, dd) → new_compare27(vxw110, vxw100, new_esEs6(vxw110, vxw100, db, dc, dd), db, dc, dd)
new_compare15(vxw110, vxw100, ty_Int) → new_compare19(vxw110, vxw100)
new_lt20(vxw110, vxw100, ty_Float) → new_lt7(vxw110, vxw100)
new_esEs25(vxw300, vxw4000, app(ty_Maybe, cgg)) → new_esEs7(vxw300, vxw4000, cgg)
new_esEs7(Just(vxw300), Just(vxw4000), app(app(app(ty_@3, cdh), cea), ceb)) → new_esEs6(vxw300, vxw4000, cdh, cea, ceb)
new_ltEs10(Nothing, Just(vxw100), cfa) → True
new_lt11(vxw110, vxw100, app(ty_Ratio, cfe)) → new_lt6(vxw110, vxw100, cfe)
new_lt20(vxw110, vxw100, ty_Char) → new_lt10(vxw110, vxw100)
new_ltEs18(vxw112, vxw102, app(ty_Maybe, bdb)) → new_ltEs10(vxw112, vxw102, bdb)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, app(ty_[], bga)) → new_esEs14(vxw300, vxw4000, bga)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs28(vxw110, vxw100, app(app(ty_@2, cc), cd)) → new_esEs4(vxw110, vxw100, cc, cd)
new_asAs(False, vxw28) → False
new_ltEs11(True, True) → True
new_primMulInt(Pos(vxw3000), Neg(vxw40000)) → Neg(new_primMulNat0(vxw3000, vxw40000))
new_primMulInt(Neg(vxw3000), Pos(vxw40000)) → Neg(new_primMulNat0(vxw3000, vxw40000))
new_primMulNat0(Zero, Succ(vxw400000)) → Zero
new_primMulNat0(Succ(vxw30000), Zero) → Zero
new_esEs21(vxw301, vxw4001, app(app(ty_Either, cbd), cbe)) → new_esEs5(vxw301, vxw4001, cbd, cbe)
new_esEs13(EQ, GT) → False
new_esEs13(GT, EQ) → False
new_esEs23(vxw110, vxw100, app(app(app(ty_@3, bad), bae), baf)) → new_esEs6(vxw110, vxw100, bad, bae, baf)
new_esEs25(vxw300, vxw4000, ty_@0) → new_esEs16(vxw300, vxw4000)
new_esEs25(vxw300, vxw4000, app(ty_Ratio, chb)) → new_esEs8(vxw300, vxw4000, chb)
new_compare15(vxw110, vxw100, app(ty_Maybe, cb)) → new_compare7(vxw110, vxw100, cb)
new_esEs5(Left(vxw300), Left(vxw4000), app(app(app(ty_@3, beg), beh), bfa), bef) → new_esEs6(vxw300, vxw4000, beg, beh, bfa)
new_esEs26(vxw300, vxw4000, app(ty_Maybe, dad)) → new_esEs7(vxw300, vxw4000, dad)
new_compare15(vxw110, vxw100, ty_Bool) → new_compare16(vxw110, vxw100)
new_ltEs8(Right(vxw110), Left(vxw100), gc, fa) → False
new_esEs23(vxw110, vxw100, ty_Float) → new_esEs15(vxw110, vxw100)
new_ltEs8(Right(vxw110), Right(vxw100), gc, app(ty_Ratio, cfd)) → new_ltEs13(vxw110, vxw100, cfd)
new_esEs20(vxw300, vxw4000, app(ty_Ratio, cag)) → new_esEs8(vxw300, vxw4000, cag)
new_compare14(vxw110, vxw100, True, de) → LT
new_esEs27(vxw301, vxw4001, ty_Double) → new_esEs17(vxw301, vxw4001)
new_esEs20(vxw300, vxw4000, ty_Double) → new_esEs17(vxw300, vxw4000)
new_ltEs18(vxw112, vxw102, ty_Char) → new_ltEs5(vxw112, vxw102)
new_lt11(vxw110, vxw100, app(ty_Maybe, bag)) → new_lt19(vxw110, vxw100, bag)
new_esEs25(vxw300, vxw4000, app(app(app(ty_@3, cgb), cgc), cgd)) → new_esEs6(vxw300, vxw4000, cgb, cgc, cgd)
new_lt17(vxw110, vxw100) → new_esEs13(new_compare19(vxw110, vxw100), LT)
new_esEs16(@0, @0) → True
new_esEs20(vxw300, vxw4000, app(app(ty_@2, cae), caf)) → new_esEs4(vxw300, vxw4000, cae, caf)
new_ltEs17(GT, GT) → True
new_ltEs19(vxw111, vxw101, ty_Int) → new_ltEs16(vxw111, vxw101)
new_lt11(vxw110, vxw100, ty_Integer) → new_lt16(vxw110, vxw100)
new_esEs24(vxw111, vxw101, ty_Double) → new_esEs17(vxw111, vxw101)
new_ltEs17(GT, EQ) → False
new_lt14(vxw110, vxw100) → new_esEs13(new_compare9(vxw110, vxw100), LT)
new_esEs21(vxw301, vxw4001, app(ty_Ratio, cca)) → new_esEs8(vxw301, vxw4001, cca)
new_esEs27(vxw301, vxw4001, app(app(ty_@2, dbg), dbh)) → new_esEs4(vxw301, vxw4001, dbg, dbh)
new_esEs7(Just(vxw300), Just(vxw4000), ty_Int) → new_esEs12(vxw300, vxw4000)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, ty_Int) → new_esEs12(vxw300, vxw4000)
new_esEs7(Just(vxw300), Just(vxw4000), ty_Ordering) → new_esEs13(vxw300, vxw4000)
new_ltEs10(Just(vxw110), Just(vxw100), app(ty_Ratio, cfb)) → new_ltEs13(vxw110, vxw100, cfb)
new_esEs20(vxw300, vxw4000, ty_Int) → new_esEs12(vxw300, vxw4000)
new_ltEs19(vxw111, vxw101, app(ty_Maybe, eg)) → new_ltEs10(vxw111, vxw101, eg)
new_esEs6(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), bhc, bhd, bhe) → new_asAs(new_esEs20(vxw300, vxw4000, bhc), new_asAs(new_esEs21(vxw301, vxw4001, bhd), new_esEs22(vxw302, vxw4002, bhe)))
new_compare15(vxw110, vxw100, app(app(ty_@2, bc), bd)) → new_compare8(vxw110, vxw100, bc, bd)
new_ltEs8(Right(vxw110), Right(vxw100), gc, ty_Char) → new_ltEs5(vxw110, vxw100)
new_esEs5(Left(vxw300), Left(vxw4000), app(app(ty_Either, bfb), bfc), bef) → new_esEs5(vxw300, vxw4000, bfb, bfc)
new_compare112(vxw110, vxw100, False) → GT
new_lt5(vxw110, vxw100) → new_esEs13(new_compare12(vxw110, vxw100), LT)
new_esEs7(Just(vxw300), Just(vxw4000), ty_Float) → new_esEs15(vxw300, vxw4000)
new_ltEs8(Left(vxw110), Left(vxw100), app(ty_Ratio, cfc), fa) → new_ltEs13(vxw110, vxw100, cfc)
new_esEs26(vxw300, vxw4000, ty_Char) → new_esEs18(vxw300, vxw4000)
new_esEs28(vxw110, vxw100, ty_Double) → new_esEs17(vxw110, vxw100)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, ty_Float) → new_esEs15(vxw300, vxw4000)
new_primPlusNat0(Succ(vxw3700), Succ(vxw4000000)) → Succ(Succ(new_primPlusNat0(vxw3700, vxw4000000)))
new_esEs28(vxw110, vxw100, ty_Int) → new_esEs12(vxw110, vxw100)
new_esEs28(vxw110, vxw100, ty_Float) → new_esEs15(vxw110, vxw100)
new_compare0([], :(vxw100, vxw101), ba) → LT
new_esEs21(vxw301, vxw4001, app(app(app(ty_@3, cba), cbb), cbc)) → new_esEs6(vxw301, vxw4001, cba, cbb, cbc)
new_compare15(vxw110, vxw100, app(ty_Ratio, cdd)) → new_compare17(vxw110, vxw100, cdd)
new_esEs27(vxw301, vxw4001, app(ty_[], dah)) → new_esEs14(vxw301, vxw4001, dah)
new_asAs(True, vxw28) → vxw28
new_esEs28(vxw110, vxw100, ty_Ordering) → new_esEs13(vxw110, vxw100)
new_lt11(vxw110, vxw100, ty_Float) → new_lt7(vxw110, vxw100)
new_ltEs17(LT, EQ) → True
new_compare7(vxw110, vxw100, de) → new_compare24(vxw110, vxw100, new_esEs7(vxw110, vxw100, de), de)
new_esEs27(vxw301, vxw4001, ty_Integer) → new_esEs11(vxw301, vxw4001)
new_compare27(vxw110, vxw100, False, db, dc, dd) → new_compare13(vxw110, vxw100, new_ltEs7(vxw110, vxw100, db, dc, dd), db, dc, dd)
new_ltEs8(Left(vxw110), Left(vxw100), app(app(ty_@2, fb), fc), fa) → new_ltEs14(vxw110, vxw100, fb, fc)
new_lt11(vxw110, vxw100, ty_Ordering) → new_lt4(vxw110, vxw100)
new_lt11(vxw110, vxw100, app(app(ty_Either, bab), bac)) → new_lt8(vxw110, vxw100, bab, bac)
new_esEs7(Just(vxw300), Just(vxw4000), app(ty_[], cdg)) → new_esEs14(vxw300, vxw4000, cdg)
new_compare27(vxw110, vxw100, True, db, dc, dd) → EQ
new_compare17(:%(vxw110, vxw111), :%(vxw100, vxw101), ty_Integer) → new_compare18(new_sr0(vxw110, vxw101), new_sr0(vxw100, vxw111))
new_ltEs19(vxw111, vxw101, ty_Char) → new_ltEs5(vxw111, vxw101)
new_esEs25(vxw300, vxw4000, ty_Ordering) → new_esEs13(vxw300, vxw4000)
new_compare15(vxw110, vxw100, app(ty_[], bb)) → new_compare0(vxw110, vxw100, bb)
new_ltEs18(vxw112, vxw102, app(ty_[], bcb)) → new_ltEs12(vxw112, vxw102, bcb)
new_lt12(vxw111, vxw101, ty_Char) → new_lt10(vxw111, vxw101)
new_ltEs8(Left(vxw110), Right(vxw100), gc, fa) → True
new_ltEs18(vxw112, vxw102, ty_Integer) → new_ltEs15(vxw112, vxw102)
new_esEs20(vxw300, vxw4000, app(ty_[], bhf)) → new_esEs14(vxw300, vxw4000, bhf)
new_ltEs19(vxw111, vxw101, app(app(ty_@2, dh), ea)) → new_ltEs14(vxw111, vxw101, dh, ea)
new_lt19(vxw110, vxw100, de) → new_esEs13(new_compare7(vxw110, vxw100, de), LT)
new_lt12(vxw111, vxw101, ty_Double) → new_lt5(vxw111, vxw101)
new_lt4(vxw110, vxw100) → new_esEs13(new_compare11(vxw110, vxw100), LT)
new_esEs27(vxw301, vxw4001, ty_Char) → new_esEs18(vxw301, vxw4001)
new_esEs28(vxw110, vxw100, ty_Char) → new_esEs18(vxw110, vxw100)
new_ltEs17(EQ, GT) → True
new_compare6(Char(vxw110), Char(vxw100)) → new_primCmpNat0(vxw110, vxw100)
new_compare13(vxw110, vxw100, True, db, dc, dd) → LT
new_ltEs8(Left(vxw110), Left(vxw100), ty_Bool, fa) → new_ltEs11(vxw110, vxw100)
new_esEs22(vxw302, vxw4002, app(app(ty_Either, ccf), ccg)) → new_esEs5(vxw302, vxw4002, ccf, ccg)
new_primCompAux00(vxw41, GT) → GT
new_lt12(vxw111, vxw101, ty_Int) → new_lt17(vxw111, vxw101)
new_ltEs18(vxw112, vxw102, ty_Double) → new_ltEs9(vxw112, vxw102)
new_lt9(vxw110, vxw100, ce) → new_esEs13(new_compare0(vxw110, vxw100, ce), LT)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_compare15(vxw110, vxw100, ty_@0) → new_compare9(vxw110, vxw100)
new_compare15(vxw110, vxw100, ty_Float) → new_compare5(vxw110, vxw100)
new_lt12(vxw111, vxw101, ty_Integer) → new_lt16(vxw111, vxw101)
new_esEs24(vxw111, vxw101, ty_Char) → new_esEs18(vxw111, vxw101)
new_esEs26(vxw300, vxw4000, ty_Ordering) → new_esEs13(vxw300, vxw4000)
new_esEs27(vxw301, vxw4001, ty_Bool) → new_esEs19(vxw301, vxw4001)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs22(vxw302, vxw4002, app(ty_Maybe, cch)) → new_esEs7(vxw302, vxw4002, cch)
new_esEs5(Right(vxw300), Right(vxw4000), bfh, app(ty_Maybe, bgg)) → new_esEs7(vxw300, vxw4000, bgg)
new_ltEs14(@2(vxw110, vxw111), @2(vxw100, vxw101), df, cf) → new_pePe(new_lt20(vxw110, vxw100, df), new_asAs(new_esEs28(vxw110, vxw100, df), new_ltEs19(vxw111, vxw101, cf)))
new_ltEs19(vxw111, vxw101, ty_Bool) → new_ltEs11(vxw111, vxw101)
new_primCmpInt(Neg(Succ(vxw1100)), Pos(vxw100)) → LT
new_not(True) → False
new_lt12(vxw111, vxw101, app(ty_Ratio, cff)) → new_lt6(vxw111, vxw101, cff)

The set Q consists of the following terms:

new_ltEs18(x0, x1, app(ty_[], x2))
new_esEs11(Integer(x0), Integer(x1))
new_esEs7(Just(x0), Just(x1), ty_Int)
new_ltEs6(x0, x1)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare27(x0, x1, True, x2, x3, x4)
new_ltEs8(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_compare15(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Integer)
new_lt20(x0, x1, app(ty_[], x2))
new_primCmpNat0(Succ(x0), Zero)
new_compare26(x0, x1, False, x2, x3)
new_compare12(Double(x0, x1), Double(x2, x3))
new_esEs20(x0, x1, ty_Bool)
new_lt14(x0, x1)
new_lt20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs14(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare7(x0, x1, x2)
new_esEs13(GT, GT)
new_esEs23(x0, x1, ty_Float)
new_primCompAux00(x0, LT)
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt12(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Ordering)
new_lt12(x0, x1, ty_Char)
new_lt4(x0, x1)
new_lt12(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_@0)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, ty_Char)
new_lt11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_lt19(x0, x1, x2)
new_esEs14(:(x0, x1), [], x2)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs26(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_primCompAux00(x0, GT)
new_lt8(x0, x1, x2, x3)
new_ltEs8(Left(x0), Left(x1), ty_Int, x2)
new_esEs20(x0, x1, ty_Int)
new_ltEs8(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs16(@0, @0)
new_esEs21(x0, x1, ty_Double)
new_primPlusNat1(Zero, x0)
new_esEs21(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_@0)
new_primEqNat0(Succ(x0), Zero)
new_ltEs8(Right(x0), Right(x1), x2, ty_Char)
new_compare15(x0, x1, ty_Char)
new_compare15(x0, x1, ty_@0)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_pePe(False, x0)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs7(Nothing, Nothing, x0)
new_esEs19(True, True)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt12(x0, x1, ty_Float)
new_esEs13(LT, GT)
new_esEs13(GT, LT)
new_esEs24(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_lt7(x0, x1)
new_ltEs10(Nothing, Just(x0), x1)
new_esEs26(x0, x1, ty_Integer)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare15(x0, x1, ty_Ordering)
new_compare0(:(x0, x1), [], x2)
new_lt11(x0, x1, ty_Int)
new_primEqNat0(Zero, Zero)
new_compare13(x0, x1, False, x2, x3, x4)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3, x4)
new_esEs21(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Char)
new_ltEs8(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt20(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_esEs13(GT, EQ)
new_esEs13(EQ, GT)
new_ltEs8(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare10(x0, x1, x2, x3)
new_primMulNat0(Zero, Zero)
new_ltEs8(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(x0, x1, ty_Float)
new_lt16(x0, x1)
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs23(x0, x1, app(ty_[], x2))
new_lt12(x0, x1, app(app(ty_@2, x2), x3))
new_compare25(x0, x1, False, x2, x3)
new_esEs22(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Integer)
new_esEs18(Char(x0), Char(x1))
new_esEs25(x0, x1, ty_Double)
new_primPlusNat0(Succ(x0), Zero)
new_ltEs10(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_@0)
new_esEs13(EQ, EQ)
new_esEs7(Just(x0), Nothing, x1)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_lt11(x0, x1, ty_Double)
new_ltEs8(Right(x0), Right(x1), x2, ty_Int)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, ty_Bool)
new_ltEs10(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs8(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare111(x0, x1, True)
new_esEs27(x0, x1, ty_Double)
new_ltEs5(x0, x1)
new_esEs23(x0, x1, ty_Integer)
new_compare15(x0, x1, app(ty_Ratio, x2))
new_compare15(x0, x1, app(app(ty_Either, x2), x3))
new_compare15(x0, x1, app(ty_[], x2))
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Ordering)
new_compare24(x0, x1, True, x2)
new_ltEs19(x0, x1, ty_Bool)
new_esEs7(Nothing, Just(x0), x1)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], [], x0)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Bool)
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs15(x0, x1)
new_esEs15(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs19(True, False)
new_esEs19(False, True)
new_ltEs10(Just(x0), Nothing, x1)
new_ltEs10(Just(x0), Just(x1), ty_Float)
new_esEs28(x0, x1, ty_Double)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_sr(x0, x1)
new_ltEs18(x0, x1, ty_Int)
new_primPlusNat0(Zero, Zero)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, ty_Bool)
new_compare15(x0, x1, ty_Integer)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Succ(x0))
new_lt12(x0, x1, ty_Bool)
new_ltEs8(Right(x0), Right(x1), x2, ty_@0)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_compare15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_@0)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs25(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Int)
new_compare112(x0, x1, False)
new_lt11(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs10(Just(x0), Just(x1), ty_Int)
new_lt12(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_Ordering)
new_compare25(x0, x1, True, x2, x3)
new_ltEs8(Right(x0), Right(x1), x2, ty_Float)
new_compare210(x0, x1, False)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs24(x0, x1, ty_Integer)
new_esEs20(x0, x1, ty_Ordering)
new_esEs12(x0, x1)
new_sr0(Integer(x0), Integer(x1))
new_lt11(x0, x1, ty_Float)
new_esEs23(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs28(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_compare29(x0, x1, True)
new_primEqNat0(Zero, Succ(x0))
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_esEs27(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Integer)
new_esEs20(x0, x1, ty_@0)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs17(GT, GT)
new_esEs8(:%(x0, x1), :%(x2, x3), x4)
new_esEs22(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_compare17(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs26(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs25(x0, x1, ty_Char)
new_lt18(x0, x1, x2, x3, x4)
new_esEs10(x0, x1, ty_Integer)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_primMulInt(Neg(x0), Neg(x1))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_ltEs10(Just(x0), Just(x1), ty_@0)
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_esEs27(x0, x1, ty_Char)
new_ltEs11(False, False)
new_ltEs9(x0, x1)
new_ltEs4(x0, x1)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_lt12(x0, x1, ty_Int)
new_ltEs10(Just(x0), Just(x1), ty_Double)
new_lt9(x0, x1, x2)
new_esEs19(False, False)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_compare15(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Float)
new_ltEs8(Left(x0), Right(x1), x2, x3)
new_ltEs8(Right(x0), Left(x1), x2, x3)
new_ltEs18(x0, x1, ty_Char)
new_compare110(x0, x1, False, x2, x3)
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_ltEs10(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Integer)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Just(x0), Just(x1), ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Just(x0), Just(x1), ty_Bool)
new_lt12(x0, x1, app(ty_Maybe, x2))
new_ltEs11(True, False)
new_ltEs11(False, True)
new_compare8(x0, x1, x2, x3)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs25(x0, x1, ty_Ordering)
new_asAs(False, x0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_compare5(Float(x0, x1), Float(x2, x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs19(x0, x1, ty_Double)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_lt11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt11(x0, x1, ty_@0)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Float)
new_ltEs8(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare15(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare28(x0, x1, x2, x3, x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs20(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Float)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_pePe(True, x0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs8(Left(x0), Left(x1), ty_Integer, x2)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, ty_Int)
new_ltEs16(x0, x1)
new_esEs28(x0, x1, ty_Int)
new_compare112(x0, x1, True)
new_esEs21(x0, x1, ty_@0)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs8(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare26(x0, x1, True, x2, x3)
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs20(x0, x1, ty_Float)
new_compare17(:%(x0, x1), :%(x2, x3), ty_Integer)
new_ltEs10(Just(x0), Just(x1), app(ty_[], x2))
new_lt10(x0, x1)
new_esEs28(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primPlusNat0(Succ(x0), Succ(x1))
new_compare15(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Double)
new_esEs24(x0, x1, ty_Double)
new_primCompAux00(x0, EQ)
new_esEs14(:(x0, x1), :(x2, x3), x4)
new_compare15(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs17(LT, GT)
new_compare16(x0, x1)
new_ltEs17(GT, LT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(ty_[], x2))
new_lt11(x0, x1, ty_Ordering)
new_lt11(x0, x1, app(app(ty_@2, x2), x3))
new_primPlusNat1(Succ(x0), x1)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs23(x0, x1, ty_Bool)
new_ltEs7(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt6(x0, x1, x2)
new_primCmpNat0(Zero, Succ(x0))
new_compare14(x0, x1, True, x2)
new_esEs27(x0, x1, ty_Integer)
new_esEs13(LT, LT)
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_esEs21(x0, x1, ty_Int)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_primCompAux0(x0, x1, x2, x3)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs8(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_compare9(@0, @0)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs18(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs13(x0, x1, x2)
new_lt17(x0, x1)
new_esEs26(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_esEs28(x0, x1, ty_Integer)
new_compare19(x0, x1)
new_esEs22(x0, x1, ty_Integer)
new_compare113(x0, x1, True, x2, x3)
new_ltEs12(x0, x1, x2)
new_ltEs10(Nothing, Nothing, x0)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs8(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs8(Left(x0), Left(x1), ty_@0, x2)
new_lt12(x0, x1, ty_Integer)
new_not(True)
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs14([], :(x0, x1), x2)
new_esEs13(EQ, LT)
new_esEs13(LT, EQ)
new_compare11(x0, x1)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs27(x0, x1, ty_Int)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_ltEs8(Left(x0), Left(x1), ty_Bool, x2)
new_not(False)
new_compare0([], :(x0, x1), x2)
new_lt11(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Left(x0), Left(x1), ty_Double, x2)
new_lt5(x0, x1)
new_ltEs10(Just(x0), Just(x1), ty_Integer)
new_lt11(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Double)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, ty_@0)
new_lt12(x0, x1, ty_Double)
new_lt12(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_compare210(x0, x1, True)
new_compare6(Char(x0), Char(x1))
new_esEs22(x0, x1, ty_@0)
new_ltEs8(Right(x0), Right(x1), x2, ty_Double)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Float)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_primMulNat0(Succ(x0), Zero)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_lt11(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_@0)
new_compare14(x0, x1, False, x2)
new_lt12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt15(x0, x1, x2, x3)
new_ltEs8(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs17(LT, EQ)
new_esEs9(x0, x1, ty_Integer)
new_ltEs17(EQ, LT)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_lt11(x0, x1, app(ty_[], x2))
new_compare113(x0, x1, False, x2, x3)
new_esEs14([], [], x0)
new_ltEs8(Right(x0), Right(x1), x2, ty_Bool)
new_lt12(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Char)
new_lt11(x0, x1, app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_compare110(x0, x1, True, x2, x3)
new_esEs25(x0, x1, ty_Bool)
new_esEs24(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_compare24(x0, x1, False, x2)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Int)
new_primEqInt(Pos(Zero), Pos(Zero))
new_compare18(Integer(x0), Integer(x1))
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_esEs28(x0, x1, ty_@0)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_ltEs8(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs24(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare15(x0, x1, ty_Int)
new_ltEs8(Left(x0), Left(x1), ty_Char, x2)
new_asAs(True, x0)
new_esEs26(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_ltEs8(Left(x0), Left(x1), ty_Float, x2)
new_ltEs17(LT, LT)
new_compare111(x0, x1, False)
new_ltEs11(True, True)
new_compare29(x0, x1, False)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_esEs22(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, True, x2, x3, x4)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs10(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_insertBy(Just(vxw30), :(Just(vxw400), vxw41), ba) → new_insertBy0(vxw400, vxw30, vxw41, new_esEs29(vxw30, vxw400, ba), ba)
new_insertBy0(vxw10, vxw11, vxw12, False, bb) → new_insertBy00(vxw10, vxw11, vxw12, new_ltEs20(vxw11, vxw10, bb), bb)
new_insertBy00(vxw19, vxw20, vxw21, False, bc) → new_insertBy(Just(vxw20), vxw21, bc)
new_insertBy(Just(vxw30), :(Nothing, vxw41), ba) → new_insertBy(Just(vxw30), vxw41, ba)

The TRS R consists of the following rules:

new_esEs25(vxw300, vxw4000, app(ty_[], cff)) → new_esEs14(vxw300, vxw4000, cff)
new_esEs22(vxw302, vxw4002, ty_Double) → new_esEs17(vxw302, vxw4002)
new_esEs7(Just(vxw300), Just(vxw4000), app(ty_Maybe, bfb)) → new_esEs7(vxw300, vxw4000, bfb)
new_esEs20(vxw300, vxw4000, app(ty_Maybe, he)) → new_esEs7(vxw300, vxw4000, he)
new_esEs24(vxw111, vxw101, app(app(ty_Either, cdf), cdg)) → new_esEs5(vxw111, vxw101, cdf, cdg)
new_esEs26(vxw300, vxw4000, app(ty_Ratio, daa)) → new_esEs8(vxw300, vxw4000, daa)
new_esEs18(Char(vxw300), Char(vxw4000)) → new_primEqNat0(vxw300, vxw4000)
new_ltEs17(LT, LT) → True
new_compare15(vxw110, vxw100, ty_Integer) → new_compare18(vxw110, vxw100)
new_esEs7(Just(vxw300), Just(vxw4000), app(ty_Ratio, bfe)) → new_esEs8(vxw300, vxw4000, bfe)
new_ltEs8(Left(vxw110), Left(vxw100), ty_Ordering, fd) → new_ltEs17(vxw110, vxw100)
new_compare110(vxw110, vxw100, True, gb, gc) → LT
new_esEs23(vxw110, vxw100, app(app(ty_Either, ccd), cce)) → new_esEs5(vxw110, vxw100, ccd, cce)
new_ltEs8(Right(vxw110), Right(vxw100), fc, app(app(app(ty_@3, cba), cbb), cbc)) → new_ltEs7(vxw110, vxw100, cba, cbb, cbc)
new_esEs23(vxw110, vxw100, app(app(ty_@2, ccb), ccc)) → new_esEs4(vxw110, vxw100, ccb, ccc)
new_lt11(vxw110, vxw100, ty_Char) → new_lt10(vxw110, vxw100)
new_ltEs6(vxw11, vxw10) → new_not(new_esEs13(new_compare9(vxw11, vxw10), GT))
new_esEs20(vxw300, vxw4000, ty_Char) → new_esEs18(vxw300, vxw4000)
new_esEs11(Integer(vxw300), Integer(vxw4000)) → new_primEqInt(vxw300, vxw4000)
new_esEs27(vxw301, vxw4001, app(ty_Maybe, dah)) → new_esEs7(vxw301, vxw4001, dah)
new_esEs28(vxw110, vxw100, ty_Integer) → new_esEs11(vxw110, vxw100)
new_esEs26(vxw300, vxw4000, ty_Integer) → new_esEs11(vxw300, vxw4000)
new_ltEs19(vxw111, vxw101, ty_Integer) → new_ltEs15(vxw111, vxw101)
new_esEs5(Left(vxw300), Left(vxw4000), ty_@0, bg) → new_esEs16(vxw300, vxw4000)
new_lt15(vxw110, vxw100, ee, ef) → new_esEs13(new_compare8(vxw110, vxw100, ee, ef), LT)
new_ltEs19(vxw111, vxw101, ty_Float) → new_ltEs4(vxw111, vxw101)
new_ltEs8(Left(vxw110), Left(vxw100), ty_Float, fd) → new_ltEs4(vxw110, vxw100)
new_ltEs10(Just(vxw110), Just(vxw100), ty_Char) → new_ltEs5(vxw110, vxw100)
new_ltEs10(Just(vxw110), Just(vxw100), ty_Float) → new_ltEs4(vxw110, vxw100)
new_primMulNat0(Zero, Zero) → Zero
new_esEs21(vxw301, vxw4001, ty_Int) → new_esEs12(vxw301, vxw4001)
new_esEs28(vxw110, vxw100, ty_Bool) → new_esEs19(vxw110, vxw100)
new_esEs22(vxw302, vxw4002, app(ty_Ratio, bcd)) → new_esEs8(vxw302, vxw4002, bcd)
new_esEs26(vxw300, vxw4000, ty_Float) → new_esEs15(vxw300, vxw4000)
new_compare13(vxw110, vxw100, False, bce, bcf, bcg) → GT
new_compare29(vxw110, vxw100, True) → EQ
new_ltEs19(vxw111, vxw101, ty_Double) → new_ltEs9(vxw111, vxw101)
new_esEs25(vxw300, vxw4000, app(app(ty_@2, cge), cgf)) → new_esEs4(vxw300, vxw4000, cge, cgf)
new_ltEs8(Left(vxw110), Left(vxw100), ty_Double, fd) → new_ltEs9(vxw110, vxw100)
new_lt18(vxw110, vxw100, bce, bcf, bcg) → new_esEs13(new_compare28(vxw110, vxw100, bce, bcf, bcg), LT)
new_compare26(vxw110, vxw100, False, gb, gc) → new_compare110(vxw110, vxw100, new_ltEs8(vxw110, vxw100, gb, gc), gb, gc)
new_esEs5(Right(vxw300), Right(vxw4000), db, ty_Integer) → new_esEs11(vxw300, vxw4000)
new_lt20(vxw110, vxw100, app(app(app(ty_@3, bce), bcf), bcg)) → new_lt18(vxw110, vxw100, bce, bcf, bcg)
new_esEs13(EQ, EQ) → True
new_ltEs8(Right(vxw110), Right(vxw100), fc, app(ty_Maybe, cbd)) → new_ltEs10(vxw110, vxw100, cbd)
new_esEs29(vxw30, vxw400, app(ty_Maybe, bec)) → new_esEs7(vxw30, vxw400, bec)
new_lt11(vxw110, vxw100, ty_@0) → new_lt14(vxw110, vxw100)
new_esEs10(vxw301, vxw4001, ty_Int) → new_esEs12(vxw301, vxw4001)
new_compare19(vxw11, vxw10) → new_primCmpInt(vxw11, vxw10)
new_esEs27(vxw301, vxw4001, app(ty_Ratio, dbc)) → new_esEs8(vxw301, vxw4001, dbc)
new_ltEs10(Just(vxw110), Just(vxw100), ty_Integer) → new_ltEs15(vxw110, vxw100)
new_compare0(:(vxw110, vxw111), :(vxw100, vxw101), eg) → new_primCompAux0(vxw110, vxw100, new_compare0(vxw111, vxw101, eg), eg)
new_esEs24(vxw111, vxw101, app(ty_Ratio, cdc)) → new_esEs8(vxw111, vxw101, cdc)
new_compare25(vxw110, vxw100, False, ee, ef) → new_compare113(vxw110, vxw100, new_ltEs14(vxw110, vxw100, ee, ef), ee, ef)
new_ltEs8(Right(vxw110), Right(vxw100), fc, ty_Bool) → new_ltEs11(vxw110, vxw100)
new_lt20(vxw110, vxw100, ty_Integer) → new_lt16(vxw110, vxw100)
new_esEs7(Just(vxw300), Just(vxw4000), app(app(ty_@2, bfc), bfd)) → new_esEs4(vxw300, vxw4000, bfc, bfd)
new_ltEs8(Right(vxw110), Right(vxw100), fc, ty_Int) → new_ltEs16(vxw110, vxw100)
new_ltEs20(vxw11, vxw10, ty_Double) → new_ltEs9(vxw11, vxw10)
new_esEs22(vxw302, vxw4002, app(ty_[], bbc)) → new_esEs14(vxw302, vxw4002, bbc)
new_ltEs18(vxw112, vxw102, ty_Float) → new_ltEs4(vxw112, vxw102)
new_ltEs10(Just(vxw110), Just(vxw100), app(ty_[], bff)) → new_ltEs12(vxw110, vxw100, bff)
new_ltEs17(EQ, LT) → False
new_ltEs8(Left(vxw110), Left(vxw100), ty_Char, fd) → new_ltEs5(vxw110, vxw100)
new_esEs5(Right(vxw300), Right(vxw4000), db, app(app(app(ty_@3, dd), de), df)) → new_esEs6(vxw300, vxw4000, dd, de, df)
new_ltEs9(vxw11, vxw10) → new_not(new_esEs13(new_compare12(vxw11, vxw10), GT))
new_pePe(False, vxw35) → vxw35
new_esEs14([], [], cbe) → True
new_esEs13(LT, EQ) → False
new_esEs13(EQ, LT) → False
new_ltEs18(vxw112, vxw102, app(app(app(ty_@3, cfb), cfc), cfd)) → new_ltEs7(vxw112, vxw102, cfb, cfc, cfd)
new_ltEs16(vxw11, vxw10) → new_not(new_esEs13(new_compare19(vxw11, vxw10), GT))
new_lt12(vxw111, vxw101, app(ty_Maybe, cec)) → new_lt19(vxw111, vxw101, cec)
new_esEs27(vxw301, vxw4001, ty_@0) → new_esEs16(vxw301, vxw4001)
new_esEs22(vxw302, vxw4002, ty_Ordering) → new_esEs13(vxw302, vxw4002)
new_esEs29(vxw30, vxw400, ty_Char) → new_esEs18(vxw30, vxw400)
new_esEs29(vxw30, vxw400, app(ty_[], cbe)) → new_esEs14(vxw30, vxw400, cbe)
new_esEs21(vxw301, vxw4001, ty_Ordering) → new_esEs13(vxw301, vxw4001)
new_esEs29(vxw30, vxw400, ty_Float) → new_esEs15(vxw30, vxw400)
new_esEs24(vxw111, vxw101, app(ty_Maybe, cec)) → new_esEs7(vxw111, vxw101, cec)
new_esEs22(vxw302, vxw4002, app(app(ty_@2, bcb), bcc)) → new_esEs4(vxw302, vxw4002, bcb, bcc)
new_esEs14(:(vxw300, vxw301), :(vxw4000, vxw4001), cbe) → new_asAs(new_esEs25(vxw300, vxw4000, cbe), new_esEs14(vxw301, vxw4001, cbe))
new_esEs23(vxw110, vxw100, app(ty_Maybe, cda)) → new_esEs7(vxw110, vxw100, cda)
new_ltEs18(vxw112, vxw102, ty_Int) → new_ltEs16(vxw112, vxw102)
new_esEs7(Just(vxw300), Just(vxw4000), ty_@0) → new_esEs16(vxw300, vxw4000)
new_ltEs11(False, True) → True
new_ltEs13(vxw11, vxw10, eh) → new_not(new_esEs13(new_compare17(vxw11, vxw10, eh), GT))
new_compare111(vxw110, vxw100, False) → GT
new_compare111(vxw110, vxw100, True) → LT
new_ltEs10(Just(vxw110), Just(vxw100), ty_Double) → new_ltEs9(vxw110, vxw100)
new_ltEs20(vxw11, vxw10, app(ty_[], eg)) → new_ltEs12(vxw11, vxw10, eg)
new_esEs29(vxw30, vxw400, app(app(ty_@2, cbf), cbg)) → new_esEs4(vxw30, vxw400, cbf, cbg)
new_esEs5(Right(vxw300), Right(vxw4000), db, app(app(ty_@2, eb), ec)) → new_esEs4(vxw300, vxw4000, eb, ec)
new_primCmpNat0(Zero, Succ(vxw1000)) → LT
new_esEs22(vxw302, vxw4002, ty_Float) → new_esEs15(vxw302, vxw4002)
new_ltEs8(Left(vxw110), Left(vxw100), app(ty_[], bha), fd) → new_ltEs12(vxw110, vxw100, bha)
new_esEs26(vxw300, vxw4000, ty_Double) → new_esEs17(vxw300, vxw4000)
new_esEs25(vxw300, vxw4000, app(app(ty_Either, cgb), cgc)) → new_esEs5(vxw300, vxw4000, cgb, cgc)
new_ltEs18(vxw112, vxw102, ty_@0) → new_ltEs6(vxw112, vxw102)
new_lt11(vxw110, vxw100, app(app(ty_@2, ccb), ccc)) → new_lt15(vxw110, vxw100, ccb, ccc)
new_ltEs10(Just(vxw110), Just(vxw100), ty_Bool) → new_ltEs11(vxw110, vxw100)
new_esEs5(Left(vxw300), Left(vxw4000), app(ty_Ratio, da), bg) → new_esEs8(vxw300, vxw4000, da)
new_ltEs7(@3(vxw110, vxw111, vxw112), @3(vxw100, vxw101, vxw102), ff, fg, fh) → new_pePe(new_lt11(vxw110, vxw100, ff), new_asAs(new_esEs23(vxw110, vxw100, ff), new_pePe(new_lt12(vxw111, vxw101, fg), new_asAs(new_esEs24(vxw111, vxw101, fg), new_ltEs18(vxw112, vxw102, fh)))))
new_esEs29(vxw30, vxw400, app(ty_Ratio, bd)) → new_esEs8(vxw30, vxw400, bd)
new_esEs25(vxw300, vxw4000, ty_Double) → new_esEs17(vxw300, vxw4000)
new_esEs24(vxw111, vxw101, ty_Int) → new_esEs12(vxw111, vxw101)
new_esEs23(vxw110, vxw100, ty_Char) → new_esEs18(vxw110, vxw100)
new_lt13(vxw110, vxw100) → new_esEs13(new_compare16(vxw110, vxw100), LT)
new_esEs20(vxw300, vxw4000, ty_Integer) → new_esEs11(vxw300, vxw4000)
new_ltEs4(vxw11, vxw10) → new_not(new_esEs13(new_compare5(vxw11, vxw10), GT))
new_esEs20(vxw300, vxw4000, app(app(app(ty_@3, gh), ha), hb)) → new_esEs6(vxw300, vxw4000, gh, ha, hb)
new_ltEs10(Just(vxw110), Just(vxw100), ty_Int) → new_ltEs16(vxw110, vxw100)
new_esEs27(vxw301, vxw4001, ty_Ordering) → new_esEs13(vxw301, vxw4001)
new_ltEs10(Just(vxw110), Just(vxw100), app(ty_Maybe, bgg)) → new_ltEs10(vxw110, vxw100, bgg)
new_esEs23(vxw110, vxw100, ty_@0) → new_esEs16(vxw110, vxw100)
new_pePe(True, vxw35) → True
new_compare0([], [], eg) → EQ
new_primEqNat0(Zero, Zero) → True
new_primMulNat0(Succ(vxw30000), Succ(vxw400000)) → new_primPlusNat1(new_primMulNat0(vxw30000, Succ(vxw400000)), vxw400000)
new_esEs29(vxw30, vxw400, ty_Ordering) → new_esEs13(vxw30, vxw400)
new_esEs13(LT, GT) → False
new_esEs13(GT, LT) → False
new_esEs28(vxw110, vxw100, ty_@0) → new_esEs16(vxw110, vxw100)
new_ltEs19(vxw111, vxw101, app(app(ty_Either, dbh), dca)) → new_ltEs8(vxw111, vxw101, dbh, dca)
new_lt20(vxw110, vxw100, app(ty_[], bgh)) → new_lt9(vxw110, vxw100, bgh)
new_esEs26(vxw300, vxw4000, ty_@0) → new_esEs16(vxw300, vxw4000)
new_esEs19(True, True) → True
new_ltEs17(GT, LT) → False
new_compare29(vxw110, vxw100, False) → new_compare112(vxw110, vxw100, new_ltEs11(vxw110, vxw100))
new_compare110(vxw110, vxw100, False, gb, gc) → GT
new_ltEs10(Just(vxw110), Just(vxw100), app(app(app(ty_@3, bgd), bge), bgf)) → new_ltEs7(vxw110, vxw100, bgd, bge, bgf)
new_ltEs8(Right(vxw110), Right(vxw100), fc, ty_Ordering) → new_ltEs17(vxw110, vxw100)
new_sr(vxw300, vxw4000) → new_primMulInt(vxw300, vxw4000)
new_esEs24(vxw111, vxw101, ty_Ordering) → new_esEs13(vxw111, vxw101)
new_lt6(vxw110, vxw100, beb) → new_esEs13(new_compare17(vxw110, vxw100, beb), LT)
new_compare16(vxw110, vxw100) → new_compare29(vxw110, vxw100, new_esEs19(vxw110, vxw100))
new_ltEs8(Right(vxw110), Right(vxw100), fc, ty_@0) → new_ltEs6(vxw110, vxw100)
new_lt12(vxw111, vxw101, ty_Float) → new_lt7(vxw111, vxw101)
new_esEs26(vxw300, vxw4000, ty_Int) → new_esEs12(vxw300, vxw4000)
new_ltEs20(vxw11, vxw10, ty_@0) → new_ltEs6(vxw11, vxw10)
new_esEs26(vxw300, vxw4000, app(app(app(ty_@3, cha), chb), chc)) → new_esEs6(vxw300, vxw4000, cha, chb, chc)
new_esEs23(vxw110, vxw100, ty_Int) → new_esEs12(vxw110, vxw100)
new_esEs9(vxw300, vxw4000, ty_Integer) → new_esEs11(vxw300, vxw4000)
new_ltEs20(vxw11, vxw10, ty_Int) → new_ltEs16(vxw11, vxw10)
new_esEs29(vxw30, vxw400, ty_Int) → new_esEs12(vxw30, vxw400)
new_primEqInt(Neg(Succ(vxw3000)), Neg(Succ(vxw40000))) → new_primEqNat0(vxw3000, vxw40000)
new_esEs7(Just(vxw300), Just(vxw4000), ty_Double) → new_esEs17(vxw300, vxw4000)
new_esEs22(vxw302, vxw4002, app(app(app(ty_@3, bbd), bbe), bbf)) → new_esEs6(vxw302, vxw4002, bbd, bbe, bbf)
new_compare113(vxw110, vxw100, True, ee, ef) → LT
new_lt20(vxw110, vxw100, app(ty_Maybe, be)) → new_lt19(vxw110, vxw100, be)
new_ltEs17(LT, GT) → True
new_esEs24(vxw111, vxw101, ty_Bool) → new_esEs19(vxw111, vxw101)
new_esEs21(vxw301, vxw4001, ty_@0) → new_esEs16(vxw301, vxw4001)
new_esEs5(Left(vxw300), Left(vxw4000), app(ty_[], bf), bg) → new_esEs14(vxw300, vxw4000, bf)
new_esEs29(vxw30, vxw400, app(app(ty_Either, db), bg)) → new_esEs5(vxw30, vxw400, db, bg)
new_compare15(vxw110, vxw100, ty_Char) → new_compare6(vxw110, vxw100)
new_esEs14([], :(vxw4000, vxw4001), cbe) → False
new_esEs14(:(vxw300, vxw301), [], cbe) → False
new_esEs25(vxw300, vxw4000, ty_Char) → new_esEs18(vxw300, vxw4000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_ltEs20(vxw11, vxw10, ty_Bool) → new_ltEs11(vxw11, vxw10)
new_esEs19(False, False) → True
new_esEs24(vxw111, vxw101, app(app(app(ty_@3, cdh), cea), ceb)) → new_esEs6(vxw111, vxw101, cdh, cea, ceb)
new_esEs27(vxw301, vxw4001, ty_Int) → new_esEs12(vxw301, vxw4001)
new_esEs5(Left(vxw300), Left(vxw4000), app(ty_Maybe, ce), bg) → new_esEs7(vxw300, vxw4000, ce)
new_esEs5(Left(vxw300), Left(vxw4000), ty_Ordering, bg) → new_esEs13(vxw300, vxw4000)
new_esEs21(vxw301, vxw4001, ty_Integer) → new_esEs11(vxw301, vxw4001)
new_esEs27(vxw301, vxw4001, app(app(ty_Either, daf), dag)) → new_esEs5(vxw301, vxw4001, daf, dag)
new_esEs26(vxw300, vxw4000, app(ty_[], cgh)) → new_esEs14(vxw300, vxw4000, cgh)
new_ltEs8(Left(vxw110), Left(vxw100), app(ty_Maybe, cab), fd) → new_ltEs10(vxw110, vxw100, cab)
new_esEs9(vxw300, vxw4000, ty_Int) → new_esEs12(vxw300, vxw4000)
new_esEs5(Left(vxw300), Left(vxw4000), ty_Integer, bg) → new_esEs11(vxw300, vxw4000)
new_primEqInt(Neg(Succ(vxw3000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vxw40000))) → False
new_compare26(vxw110, vxw100, True, gb, gc) → EQ
new_primPlusNat1(Zero, vxw400000) → Succ(vxw400000)
new_lt11(vxw110, vxw100, app(ty_[], cbh)) → new_lt9(vxw110, vxw100, cbh)
new_esEs28(vxw110, vxw100, app(ty_[], bgh)) → new_esEs14(vxw110, vxw100, bgh)
new_esEs22(vxw302, vxw4002, ty_Int) → new_esEs12(vxw302, vxw4002)
new_ltEs17(EQ, EQ) → True
new_ltEs19(vxw111, vxw101, ty_Ordering) → new_ltEs17(vxw111, vxw101)
new_lt11(vxw110, vxw100, ty_Bool) → new_lt13(vxw110, vxw100)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_lt7(vxw110, vxw100) → new_esEs13(new_compare5(vxw110, vxw100), LT)
new_ltEs8(Right(vxw110), Right(vxw100), fc, app(ty_[], cac)) → new_ltEs12(vxw110, vxw100, cac)
new_esEs27(vxw301, vxw4001, ty_Float) → new_esEs15(vxw301, vxw4001)
new_compare15(vxw110, vxw100, app(app(app(ty_@3, bdf), bdg), bdh)) → new_compare28(vxw110, vxw100, bdf, bdg, bdh)
new_lt16(vxw110, vxw100) → new_esEs13(new_compare18(vxw110, vxw100), LT)
new_esEs7(Just(vxw300), Just(vxw4000), ty_Integer) → new_esEs11(vxw300, vxw4000)
new_lt11(vxw110, vxw100, ty_Int) → new_lt17(vxw110, vxw100)
new_primCmpNat0(Succ(vxw1100), Succ(vxw1000)) → new_primCmpNat0(vxw1100, vxw1000)
new_compare112(vxw110, vxw100, True) → LT
new_esEs13(LT, LT) → True
new_primEqInt(Pos(Succ(vxw3000)), Pos(Succ(vxw40000))) → new_primEqNat0(vxw3000, vxw40000)
new_ltEs8(Right(vxw110), Right(vxw100), fc, ty_Double) → new_ltEs9(vxw110, vxw100)
new_ltEs19(vxw111, vxw101, app(app(app(ty_@3, dcb), dcc), dcd)) → new_ltEs7(vxw111, vxw101, dcb, dcc, dcd)
new_esEs7(Just(vxw300), Just(vxw4000), ty_Char) → new_esEs18(vxw300, vxw4000)
new_compare15(vxw110, vxw100, app(app(ty_Either, bdd), bde)) → new_compare10(vxw110, vxw100, bdd, bde)
new_esEs26(vxw300, vxw4000, ty_Bool) → new_esEs19(vxw300, vxw4000)
new_ltEs11(True, False) → False
new_compare14(vxw110, vxw100, False, be) → GT
new_ltEs20(vxw11, vxw10, app(app(app(ty_@3, ff), fg), fh)) → new_ltEs7(vxw11, vxw10, ff, fg, fh)
new_esEs5(Right(vxw300), Right(vxw4000), db, app(app(ty_Either, dg), dh)) → new_esEs5(vxw300, vxw4000, dg, dh)
new_primEqNat0(Succ(vxw3000), Succ(vxw40000)) → new_primEqNat0(vxw3000, vxw40000)
new_esEs24(vxw111, vxw101, ty_@0) → new_esEs16(vxw111, vxw101)
new_esEs23(vxw110, vxw100, ty_Integer) → new_esEs11(vxw110, vxw100)
new_compare17(:%(vxw110, vxw111), :%(vxw100, vxw101), ty_Int) → new_compare19(new_sr(vxw110, vxw101), new_sr(vxw100, vxw111))
new_esEs21(vxw301, vxw4001, app(ty_[], baa)) → new_esEs14(vxw301, vxw4001, baa)
new_ltEs10(Just(vxw110), Just(vxw100), ty_Ordering) → new_ltEs17(vxw110, vxw100)
new_ltEs20(vxw11, vxw10, ty_Char) → new_ltEs5(vxw11, vxw10)
new_compare113(vxw110, vxw100, False, ee, ef) → GT
new_compare8(vxw110, vxw100, ee, ef) → new_compare25(vxw110, vxw100, new_esEs4(vxw110, vxw100, ee, ef), ee, ef)
new_primCompAux00(vxw41, LT) → LT
new_lt12(vxw111, vxw101, ty_Bool) → new_lt13(vxw111, vxw101)
new_lt12(vxw111, vxw101, ty_Ordering) → new_lt4(vxw111, vxw101)
new_primCmpInt(Neg(Succ(vxw1100)), Neg(vxw100)) → new_primCmpNat0(vxw100, Succ(vxw1100))
new_esEs20(vxw300, vxw4000, ty_Float) → new_esEs15(vxw300, vxw4000)
new_esEs26(vxw300, vxw4000, app(app(ty_@2, chg), chh)) → new_esEs4(vxw300, vxw4000, chg, chh)
new_ltEs18(vxw112, vxw102, ty_Bool) → new_ltEs11(vxw112, vxw102)
new_compare24(vxw110, vxw100, False, be) → new_compare14(vxw110, vxw100, new_ltEs10(vxw110, vxw100, be), be)
new_primCompAux0(vxw110, vxw100, vxw36, eg) → new_primCompAux00(vxw36, new_compare15(vxw110, vxw100, eg))
new_lt11(vxw110, vxw100, app(app(app(ty_@3, ccf), ccg), cch)) → new_lt18(vxw110, vxw100, ccf, ccg, cch)
new_esEs5(Right(vxw300), Right(vxw4000), db, ty_@0) → new_esEs16(vxw300, vxw4000)
new_lt12(vxw111, vxw101, ty_@0) → new_lt14(vxw111, vxw101)
new_esEs7(Nothing, Nothing, bec) → True
new_primEqInt(Pos(Zero), Pos(Succ(vxw40000))) → False
new_primEqInt(Pos(Succ(vxw3000)), Pos(Zero)) → False
new_lt20(vxw110, vxw100, ty_Int) → new_lt17(vxw110, vxw100)
new_primPlusNat0(Zero, Succ(vxw4000000)) → Succ(vxw4000000)
new_primPlusNat0(Succ(vxw3700), Zero) → Succ(vxw3700)
new_esEs24(vxw111, vxw101, ty_Float) → new_esEs15(vxw111, vxw101)
new_esEs21(vxw301, vxw4001, ty_Bool) → new_esEs19(vxw301, vxw4001)
new_primCmpNat0(Zero, Zero) → EQ
new_esEs23(vxw110, vxw100, ty_Ordering) → new_esEs13(vxw110, vxw100)
new_primCmpNat0(Succ(vxw1100), Zero) → GT
new_lt12(vxw111, vxw101, app(ty_[], cdb)) → new_lt9(vxw111, vxw101, cdb)
new_ltEs19(vxw111, vxw101, app(ty_Ratio, dbe)) → new_ltEs13(vxw111, vxw101, dbe)
new_esEs5(Left(vxw300), Left(vxw4000), ty_Char, bg) → new_esEs18(vxw300, vxw4000)
new_lt20(vxw110, vxw100, app(ty_Ratio, beb)) → new_lt6(vxw110, vxw100, beb)
new_primCmpInt(Neg(Zero), Pos(Succ(vxw1000))) → LT
new_esEs7(Just(vxw300), Just(vxw4000), app(app(ty_Either, beh), bfa)) → new_esEs5(vxw300, vxw4000, beh, bfa)
new_compare9(@0, @0) → EQ
new_esEs19(False, True) → False
new_esEs19(True, False) → False
new_esEs21(vxw301, vxw4001, ty_Float) → new_esEs15(vxw301, vxw4001)
new_esEs20(vxw300, vxw4000, app(app(ty_Either, hc), hd)) → new_esEs5(vxw300, vxw4000, hc, hd)
new_esEs5(Right(vxw300), Right(vxw4000), db, ty_Bool) → new_esEs19(vxw300, vxw4000)
new_esEs28(vxw110, vxw100, app(ty_Ratio, beb)) → new_esEs8(vxw110, vxw100, beb)
new_esEs17(Double(vxw300, vxw301), Double(vxw4000, vxw4001)) → new_esEs12(new_sr(vxw300, vxw4000), new_sr(vxw301, vxw4001))
new_sr0(Integer(vxw1000), Integer(vxw1110)) → Integer(new_primMulInt(vxw1000, vxw1110))
new_ltEs8(Right(vxw110), Right(vxw100), fc, ty_Integer) → new_ltEs15(vxw110, vxw100)
new_esEs21(vxw301, vxw4001, ty_Double) → new_esEs17(vxw301, vxw4001)
new_primEqInt(Pos(Succ(vxw3000)), Neg(vxw4000)) → False
new_primEqInt(Neg(Succ(vxw3000)), Pos(vxw4000)) → False
new_esEs28(vxw110, vxw100, app(app(ty_Either, gb), gc)) → new_esEs5(vxw110, vxw100, gb, gc)
new_esEs25(vxw300, vxw4000, ty_Bool) → new_esEs19(vxw300, vxw4000)
new_esEs4(@2(vxw300, vxw301), @2(vxw4000, vxw4001), cbf, cbg) → new_asAs(new_esEs26(vxw300, vxw4000, cbf), new_esEs27(vxw301, vxw4001, cbg))
new_esEs24(vxw111, vxw101, app(app(ty_@2, cdd), cde)) → new_esEs4(vxw111, vxw101, cdd, cde)
new_esEs7(Nothing, Just(vxw4000), bec) → False
new_esEs7(Just(vxw300), Nothing, bec) → False
new_esEs20(vxw300, vxw4000, ty_@0) → new_esEs16(vxw300, vxw4000)
new_ltEs18(vxw112, vxw102, app(app(ty_@2, cef), ceg)) → new_ltEs14(vxw112, vxw102, cef, ceg)
new_compare18(Integer(vxw110), Integer(vxw100)) → new_primCmpInt(vxw110, vxw100)
new_compare10(vxw110, vxw100, gb, gc) → new_compare26(vxw110, vxw100, new_esEs5(vxw110, vxw100, gb, gc), gb, gc)
new_primEqInt(Pos(Zero), Neg(Succ(vxw40000))) → False
new_esEs29(vxw30, vxw400, ty_Integer) → new_esEs11(vxw30, vxw400)
new_primEqInt(Neg(Zero), Pos(Succ(vxw40000))) → False
new_esEs5(Left(vxw300), Left(vxw4000), app(app(ty_@2, cf), cg), bg) → new_esEs4(vxw300, vxw4000, cf, cg)
new_compare15(vxw110, vxw100, ty_Ordering) → new_compare11(vxw110, vxw100)
new_primCmpInt(Pos(Zero), Pos(Succ(vxw1000))) → new_primCmpNat0(Zero, Succ(vxw1000))
new_primCompAux00(vxw41, EQ) → vxw41
new_esEs23(vxw110, vxw100, ty_Double) → new_esEs17(vxw110, vxw100)
new_lt20(vxw110, vxw100, ty_Bool) → new_lt13(vxw110, vxw100)
new_lt20(vxw110, vxw100, ty_Ordering) → new_lt4(vxw110, vxw100)
new_esEs23(vxw110, vxw100, ty_Bool) → new_esEs19(vxw110, vxw100)
new_ltEs8(Right(vxw110), Right(vxw100), fc, ty_Float) → new_ltEs4(vxw110, vxw100)
new_esEs22(vxw302, vxw4002, ty_Bool) → new_esEs19(vxw302, vxw4002)
new_ltEs18(vxw112, vxw102, ty_Ordering) → new_ltEs17(vxw112, vxw102)
new_esEs5(Left(vxw300), Left(vxw4000), ty_Double, bg) → new_esEs17(vxw300, vxw4000)
new_esEs22(vxw302, vxw4002, ty_@0) → new_esEs16(vxw302, vxw4002)
new_esEs25(vxw300, vxw4000, ty_Float) → new_esEs15(vxw300, vxw4000)
new_esEs5(Right(vxw300), Right(vxw4000), db, ty_Char) → new_esEs18(vxw300, vxw4000)
new_ltEs10(Just(vxw110), Just(vxw100), app(app(ty_Either, bgb), bgc)) → new_ltEs8(vxw110, vxw100, bgb, bgc)
new_esEs21(vxw301, vxw4001, ty_Char) → new_esEs18(vxw301, vxw4001)
new_lt12(vxw111, vxw101, app(app(ty_@2, cdd), cde)) → new_lt15(vxw111, vxw101, cdd, cde)
new_ltEs10(Nothing, Nothing, ga) → True
new_lt20(vxw110, vxw100, ty_Double) → new_lt5(vxw110, vxw100)
new_lt8(vxw110, vxw100, gb, gc) → new_esEs13(new_compare10(vxw110, vxw100, gb, gc), LT)
new_not(False) → True
new_ltEs8(Right(vxw110), Right(vxw100), fc, app(app(ty_Either, cag), cah)) → new_ltEs8(vxw110, vxw100, cag, cah)
new_compare24(vxw110, vxw100, True, be) → EQ
new_ltEs18(vxw112, vxw102, app(app(ty_Either, ceh), cfa)) → new_ltEs8(vxw112, vxw102, ceh, cfa)
new_ltEs18(vxw112, vxw102, app(ty_Ratio, cee)) → new_ltEs13(vxw112, vxw102, cee)
new_primCmpInt(Pos(Succ(vxw1100)), Pos(vxw100)) → new_primCmpNat0(Succ(vxw1100), vxw100)
new_ltEs20(vxw11, vxw10, ty_Integer) → new_ltEs15(vxw11, vxw10)
new_ltEs8(Left(vxw110), Left(vxw100), app(app(app(ty_@3, bhg), bhh), caa), fd) → new_ltEs7(vxw110, vxw100, bhg, bhh, caa)
new_ltEs10(Just(vxw110), Just(vxw100), app(app(ty_@2, bfh), bga)) → new_ltEs14(vxw110, vxw100, bfh, bga)
new_ltEs19(vxw111, vxw101, app(ty_[], dbd)) → new_ltEs12(vxw111, vxw101, dbd)
new_lt10(vxw110, vxw100) → new_esEs13(new_compare6(vxw110, vxw100), LT)
new_ltEs8(Left(vxw110), Left(vxw100), ty_Int, fd) → new_ltEs16(vxw110, vxw100)
new_esEs24(vxw111, vxw101, app(ty_[], cdb)) → new_esEs14(vxw111, vxw101, cdb)
new_ltEs8(Right(vxw110), Right(vxw100), fc, app(app(ty_@2, cae), caf)) → new_ltEs14(vxw110, vxw100, cae, caf)
new_esEs5(Right(vxw300), Right(vxw4000), db, ty_Ordering) → new_esEs13(vxw300, vxw4000)
new_esEs22(vxw302, vxw4002, ty_Integer) → new_esEs11(vxw302, vxw4002)
new_compare0(:(vxw110, vxw111), [], eg) → GT
new_esEs5(Right(vxw300), Right(vxw4000), db, ty_Double) → new_esEs17(vxw300, vxw4000)
new_esEs5(Left(vxw300), Left(vxw4000), ty_Float, bg) → new_esEs15(vxw300, vxw4000)
new_ltEs11(False, False) → True
new_esEs5(Left(vxw300), Left(vxw4000), ty_Int, bg) → new_esEs12(vxw300, vxw4000)
new_compare12(Double(vxw110, vxw111), Double(vxw100, vxw101)) → new_compare19(new_sr(vxw110, vxw100), new_sr(vxw111, vxw101))
new_esEs26(vxw300, vxw4000, app(app(ty_Either, chd), che)) → new_esEs5(vxw300, vxw4000, chd, che)
new_compare11(vxw110, vxw100) → new_compare210(vxw110, vxw100, new_esEs13(vxw110, vxw100))
new_esEs5(Left(vxw300), Left(vxw4000), ty_Bool, bg) → new_esEs19(vxw300, vxw4000)
new_esEs25(vxw300, vxw4000, ty_Integer) → new_esEs11(vxw300, vxw4000)
new_primCmpInt(Pos(Succ(vxw1100)), Neg(vxw100)) → GT
new_esEs22(vxw302, vxw4002, ty_Char) → new_esEs18(vxw302, vxw4002)
new_esEs28(vxw110, vxw100, app(ty_Maybe, be)) → new_esEs7(vxw110, vxw100, be)
new_lt12(vxw111, vxw101, app(app(ty_Either, cdf), cdg)) → new_lt8(vxw111, vxw101, cdf, cdg)
new_esEs29(vxw30, vxw400, ty_@0) → new_esEs16(vxw30, vxw400)
new_lt12(vxw111, vxw101, app(app(app(ty_@3, cdh), cea), ceb)) → new_lt18(vxw111, vxw101, cdh, cea, ceb)
new_esEs21(vxw301, vxw4001, app(ty_Maybe, bag)) → new_esEs7(vxw301, vxw4001, bag)
new_primMulInt(Pos(vxw3000), Pos(vxw40000)) → Pos(new_primMulNat0(vxw3000, vxw40000))
new_esEs21(vxw301, vxw4001, app(app(ty_@2, bah), bba)) → new_esEs4(vxw301, vxw4001, bah, bba)
new_esEs24(vxw111, vxw101, ty_Integer) → new_esEs11(vxw111, vxw101)
new_esEs23(vxw110, vxw100, app(ty_Ratio, cca)) → new_esEs8(vxw110, vxw100, cca)
new_esEs20(vxw300, vxw4000, ty_Bool) → new_esEs19(vxw300, vxw4000)
new_esEs5(Left(vxw300), Right(vxw4000), db, bg) → False
new_esEs5(Right(vxw300), Left(vxw4000), db, bg) → False
new_primMulInt(Neg(vxw3000), Neg(vxw40000)) → Pos(new_primMulNat0(vxw3000, vxw40000))
new_esEs13(GT, GT) → True
new_compare5(Float(vxw110, vxw111), Float(vxw100, vxw101)) → new_compare19(new_sr(vxw110, vxw100), new_sr(vxw111, vxw101))
new_lt20(vxw110, vxw100, ty_@0) → new_lt14(vxw110, vxw100)
new_ltEs8(Left(vxw110), Left(vxw100), app(app(ty_Either, bhe), bhf), fd) → new_ltEs8(vxw110, vxw100, bhe, bhf)
new_primEqNat0(Succ(vxw3000), Zero) → False
new_primEqNat0(Zero, Succ(vxw40000)) → False
new_ltEs15(vxw11, vxw10) → new_not(new_esEs13(new_compare18(vxw11, vxw10), GT))
new_lt11(vxw110, vxw100, ty_Double) → new_lt5(vxw110, vxw100)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs19(vxw111, vxw101, ty_@0) → new_ltEs6(vxw111, vxw101)
new_compare25(vxw110, vxw100, True, ee, ef) → EQ
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs28(vxw110, vxw100, app(app(app(ty_@3, bce), bcf), bcg)) → new_esEs6(vxw110, vxw100, bce, bcf, bcg)
new_compare210(vxw110, vxw100, False) → new_compare111(vxw110, vxw100, new_ltEs17(vxw110, vxw100))
new_compare15(vxw110, vxw100, ty_Double) → new_compare12(vxw110, vxw100)
new_esEs20(vxw300, vxw4000, ty_Ordering) → new_esEs13(vxw300, vxw4000)
new_lt20(vxw110, vxw100, app(app(ty_Either, gb), gc)) → new_lt8(vxw110, vxw100, gb, gc)
new_esEs25(vxw300, vxw4000, ty_Int) → new_esEs12(vxw300, vxw4000)
new_esEs8(:%(vxw300, vxw301), :%(vxw4000, vxw4001), bd) → new_asAs(new_esEs9(vxw300, vxw4000, bd), new_esEs10(vxw301, vxw4001, bd))
new_esEs7(Just(vxw300), Just(vxw4000), ty_Bool) → new_esEs19(vxw300, vxw4000)
new_esEs27(vxw301, vxw4001, app(app(app(ty_@3, dac), dad), dae)) → new_esEs6(vxw301, vxw4001, dac, dad, dae)
new_esEs15(Float(vxw300, vxw301), Float(vxw4000, vxw4001)) → new_esEs12(new_sr(vxw300, vxw4000), new_sr(vxw301, vxw4001))
new_compare210(vxw110, vxw100, True) → EQ
new_esEs10(vxw301, vxw4001, ty_Integer) → new_esEs11(vxw301, vxw4001)
new_ltEs10(Just(vxw110), Just(vxw100), ty_@0) → new_ltEs6(vxw110, vxw100)
new_ltEs8(Left(vxw110), Left(vxw100), ty_@0, fd) → new_ltEs6(vxw110, vxw100)
new_esEs5(Right(vxw300), Right(vxw4000), db, app(ty_Ratio, ed)) → new_esEs8(vxw300, vxw4000, ed)
new_ltEs20(vxw11, vxw10, ty_Float) → new_ltEs4(vxw11, vxw10)
new_ltEs5(vxw11, vxw10) → new_not(new_esEs13(new_compare6(vxw11, vxw10), GT))
new_primPlusNat1(Succ(vxw370), vxw400000) → Succ(Succ(new_primPlusNat0(vxw370, vxw400000)))
new_esEs23(vxw110, vxw100, app(ty_[], cbh)) → new_esEs14(vxw110, vxw100, cbh)
new_primCmpInt(Neg(Zero), Neg(Succ(vxw1000))) → new_primCmpNat0(Succ(vxw1000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vxw1000))) → GT
new_lt20(vxw110, vxw100, app(app(ty_@2, ee), ef)) → new_lt15(vxw110, vxw100, ee, ef)
new_ltEs8(Left(vxw110), Left(vxw100), ty_Integer, fd) → new_ltEs15(vxw110, vxw100)
new_esEs29(vxw30, vxw400, ty_Bool) → new_esEs19(vxw30, vxw400)
new_esEs12(vxw30, vxw400) → new_primEqInt(vxw30, vxw400)
new_ltEs10(Just(vxw110), Nothing, ga) → False
new_ltEs12(vxw11, vxw10, eg) → new_not(new_esEs13(new_compare0(vxw11, vxw10, eg), GT))
new_compare28(vxw110, vxw100, bce, bcf, bcg) → new_compare27(vxw110, vxw100, new_esEs6(vxw110, vxw100, bce, bcf, bcg), bce, bcf, bcg)
new_compare15(vxw110, vxw100, ty_Int) → new_compare19(vxw110, vxw100)
new_lt20(vxw110, vxw100, ty_Float) → new_lt7(vxw110, vxw100)
new_esEs25(vxw300, vxw4000, app(ty_Maybe, cgd)) → new_esEs7(vxw300, vxw4000, cgd)
new_esEs7(Just(vxw300), Just(vxw4000), app(app(app(ty_@3, bee), bef), beg)) → new_esEs6(vxw300, vxw4000, bee, bef, beg)
new_ltEs10(Nothing, Just(vxw100), ga) → True
new_ltEs20(vxw11, vxw10, ty_Ordering) → new_ltEs17(vxw11, vxw10)
new_lt11(vxw110, vxw100, app(ty_Ratio, cca)) → new_lt6(vxw110, vxw100, cca)
new_lt20(vxw110, vxw100, ty_Char) → new_lt10(vxw110, vxw100)
new_ltEs18(vxw112, vxw102, app(ty_Maybe, cfe)) → new_ltEs10(vxw112, vxw102, cfe)
new_esEs5(Right(vxw300), Right(vxw4000), db, app(ty_[], dc)) → new_esEs14(vxw300, vxw4000, dc)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs28(vxw110, vxw100, app(app(ty_@2, ee), ef)) → new_esEs4(vxw110, vxw100, ee, ef)
new_asAs(False, vxw28) → False
new_ltEs11(True, True) → True
new_primMulInt(Pos(vxw3000), Neg(vxw40000)) → Neg(new_primMulNat0(vxw3000, vxw40000))
new_primMulInt(Neg(vxw3000), Pos(vxw40000)) → Neg(new_primMulNat0(vxw3000, vxw40000))
new_primMulNat0(Zero, Succ(vxw400000)) → Zero
new_primMulNat0(Succ(vxw30000), Zero) → Zero
new_esEs21(vxw301, vxw4001, app(app(ty_Either, bae), baf)) → new_esEs5(vxw301, vxw4001, bae, baf)
new_esEs13(EQ, GT) → False
new_esEs13(GT, EQ) → False
new_esEs23(vxw110, vxw100, app(app(app(ty_@3, ccf), ccg), cch)) → new_esEs6(vxw110, vxw100, ccf, ccg, cch)
new_esEs25(vxw300, vxw4000, ty_@0) → new_esEs16(vxw300, vxw4000)
new_esEs25(vxw300, vxw4000, app(ty_Ratio, cgg)) → new_esEs8(vxw300, vxw4000, cgg)
new_compare15(vxw110, vxw100, app(ty_Maybe, bea)) → new_compare7(vxw110, vxw100, bea)
new_esEs5(Left(vxw300), Left(vxw4000), app(app(app(ty_@3, bh), ca), cb), bg) → new_esEs6(vxw300, vxw4000, bh, ca, cb)
new_esEs29(vxw30, vxw400, ty_Double) → new_esEs17(vxw30, vxw400)
new_esEs26(vxw300, vxw4000, app(ty_Maybe, chf)) → new_esEs7(vxw300, vxw4000, chf)
new_ltEs20(vxw11, vxw10, app(app(ty_@2, fa), fb)) → new_ltEs14(vxw11, vxw10, fa, fb)
new_compare15(vxw110, vxw100, ty_Bool) → new_compare16(vxw110, vxw100)
new_ltEs8(Right(vxw110), Left(vxw100), fc, fd) → False
new_esEs23(vxw110, vxw100, ty_Float) → new_esEs15(vxw110, vxw100)
new_ltEs8(Right(vxw110), Right(vxw100), fc, app(ty_Ratio, cad)) → new_ltEs13(vxw110, vxw100, cad)
new_esEs20(vxw300, vxw4000, app(ty_Ratio, hh)) → new_esEs8(vxw300, vxw4000, hh)
new_compare14(vxw110, vxw100, True, be) → LT
new_esEs27(vxw301, vxw4001, ty_Double) → new_esEs17(vxw301, vxw4001)
new_esEs20(vxw300, vxw4000, ty_Double) → new_esEs17(vxw300, vxw4000)
new_ltEs18(vxw112, vxw102, ty_Char) → new_ltEs5(vxw112, vxw102)
new_lt11(vxw110, vxw100, app(ty_Maybe, cda)) → new_lt19(vxw110, vxw100, cda)
new_esEs25(vxw300, vxw4000, app(app(app(ty_@3, cfg), cfh), cga)) → new_esEs6(vxw300, vxw4000, cfg, cfh, cga)
new_lt17(vxw110, vxw100) → new_esEs13(new_compare19(vxw110, vxw100), LT)
new_esEs16(@0, @0) → True
new_esEs20(vxw300, vxw4000, app(app(ty_@2, hf), hg)) → new_esEs4(vxw300, vxw4000, hf, hg)
new_ltEs17(GT, GT) → True
new_ltEs19(vxw111, vxw101, ty_Int) → new_ltEs16(vxw111, vxw101)
new_lt11(vxw110, vxw100, ty_Integer) → new_lt16(vxw110, vxw100)
new_esEs24(vxw111, vxw101, ty_Double) → new_esEs17(vxw111, vxw101)
new_ltEs17(GT, EQ) → False
new_lt14(vxw110, vxw100) → new_esEs13(new_compare9(vxw110, vxw100), LT)
new_esEs21(vxw301, vxw4001, app(ty_Ratio, bbb)) → new_esEs8(vxw301, vxw4001, bbb)
new_esEs27(vxw301, vxw4001, app(app(ty_@2, dba), dbb)) → new_esEs4(vxw301, vxw4001, dba, dbb)
new_esEs7(Just(vxw300), Just(vxw4000), ty_Int) → new_esEs12(vxw300, vxw4000)
new_esEs5(Right(vxw300), Right(vxw4000), db, ty_Int) → new_esEs12(vxw300, vxw4000)
new_esEs7(Just(vxw300), Just(vxw4000), ty_Ordering) → new_esEs13(vxw300, vxw4000)
new_ltEs10(Just(vxw110), Just(vxw100), app(ty_Ratio, bfg)) → new_ltEs13(vxw110, vxw100, bfg)
new_esEs20(vxw300, vxw4000, ty_Int) → new_esEs12(vxw300, vxw4000)
new_ltEs19(vxw111, vxw101, app(ty_Maybe, dce)) → new_ltEs10(vxw111, vxw101, dce)
new_esEs6(@3(vxw300, vxw301, vxw302), @3(vxw4000, vxw4001, vxw4002), gd, ge, gf) → new_asAs(new_esEs20(vxw300, vxw4000, gd), new_asAs(new_esEs21(vxw301, vxw4001, ge), new_esEs22(vxw302, vxw4002, gf)))
new_compare15(vxw110, vxw100, app(app(ty_@2, bdb), bdc)) → new_compare8(vxw110, vxw100, bdb, bdc)
new_ltEs8(Right(vxw110), Right(vxw100), fc, ty_Char) → new_ltEs5(vxw110, vxw100)
new_esEs5(Left(vxw300), Left(vxw4000), app(app(ty_Either, cc), cd), bg) → new_esEs5(vxw300, vxw4000, cc, cd)
new_esEs29(vxw30, vxw400, app(app(app(ty_@3, gd), ge), gf)) → new_esEs6(vxw30, vxw400, gd, ge, gf)
new_compare112(vxw110, vxw100, False) → GT
new_lt5(vxw110, vxw100) → new_esEs13(new_compare12(vxw110, vxw100), LT)
new_esEs7(Just(vxw300), Just(vxw4000), ty_Float) → new_esEs15(vxw300, vxw4000)
new_ltEs8(Left(vxw110), Left(vxw100), app(ty_Ratio, bhb), fd) → new_ltEs13(vxw110, vxw100, bhb)
new_esEs26(vxw300, vxw4000, ty_Char) → new_esEs18(vxw300, vxw4000)
new_esEs28(vxw110, vxw100, ty_Double) → new_esEs17(vxw110, vxw100)
new_primPlusNat0(Succ(vxw3700), Succ(vxw4000000)) → Succ(Succ(new_primPlusNat0(vxw3700, vxw4000000)))
new_esEs5(Right(vxw300), Right(vxw4000), db, ty_Float) → new_esEs15(vxw300, vxw4000)
new_esEs28(vxw110, vxw100, ty_Int) → new_esEs12(vxw110, vxw100)
new_esEs28(vxw110, vxw100, ty_Float) → new_esEs15(vxw110, vxw100)
new_compare0([], :(vxw100, vxw101), eg) → LT
new_esEs21(vxw301, vxw4001, app(app(app(ty_@3, bab), bac), bad)) → new_esEs6(vxw301, vxw4001, bab, bac, bad)
new_compare15(vxw110, vxw100, app(ty_Ratio, bda)) → new_compare17(vxw110, vxw100, bda)
new_esEs27(vxw301, vxw4001, app(ty_[], dab)) → new_esEs14(vxw301, vxw4001, dab)
new_asAs(True, vxw28) → vxw28
new_esEs28(vxw110, vxw100, ty_Ordering) → new_esEs13(vxw110, vxw100)
new_lt11(vxw110, vxw100, ty_Float) → new_lt7(vxw110, vxw100)
new_ltEs17(LT, EQ) → True
new_compare7(vxw110, vxw100, be) → new_compare24(vxw110, vxw100, new_esEs7(vxw110, vxw100, be), be)
new_esEs27(vxw301, vxw4001, ty_Integer) → new_esEs11(vxw301, vxw4001)
new_ltEs20(vxw11, vxw10, app(app(ty_Either, fc), fd)) → new_ltEs8(vxw11, vxw10, fc, fd)
new_compare27(vxw110, vxw100, False, bce, bcf, bcg) → new_compare13(vxw110, vxw100, new_ltEs7(vxw110, vxw100, bce, bcf, bcg), bce, bcf, bcg)
new_ltEs8(Left(vxw110), Left(vxw100), app(app(ty_@2, bhc), bhd), fd) → new_ltEs14(vxw110, vxw100, bhc, bhd)
new_lt11(vxw110, vxw100, ty_Ordering) → new_lt4(vxw110, vxw100)
new_lt11(vxw110, vxw100, app(app(ty_Either, ccd), cce)) → new_lt8(vxw110, vxw100, ccd, cce)
new_esEs7(Just(vxw300), Just(vxw4000), app(ty_[], bed)) → new_esEs14(vxw300, vxw4000, bed)
new_compare27(vxw110, vxw100, True, bce, bcf, bcg) → EQ
new_compare17(:%(vxw110, vxw111), :%(vxw100, vxw101), ty_Integer) → new_compare18(new_sr0(vxw110, vxw101), new_sr0(vxw100, vxw111))
new_ltEs19(vxw111, vxw101, ty_Char) → new_ltEs5(vxw111, vxw101)
new_esEs25(vxw300, vxw4000, ty_Ordering) → new_esEs13(vxw300, vxw4000)
new_compare15(vxw110, vxw100, app(ty_[], bch)) → new_compare0(vxw110, vxw100, bch)
new_ltEs18(vxw112, vxw102, app(ty_[], ced)) → new_ltEs12(vxw112, vxw102, ced)
new_lt12(vxw111, vxw101, ty_Char) → new_lt10(vxw111, vxw101)
new_ltEs8(Left(vxw110), Right(vxw100), fc, fd) → True
new_ltEs18(vxw112, vxw102, ty_Integer) → new_ltEs15(vxw112, vxw102)
new_esEs20(vxw300, vxw4000, app(ty_[], gg)) → new_esEs14(vxw300, vxw4000, gg)
new_ltEs20(vxw11, vxw10, app(ty_Maybe, ga)) → new_ltEs10(vxw11, vxw10, ga)
new_ltEs19(vxw111, vxw101, app(app(ty_@2, dbf), dbg)) → new_ltEs14(vxw111, vxw101, dbf, dbg)
new_lt19(vxw110, vxw100, be) → new_esEs13(new_compare7(vxw110, vxw100, be), LT)
new_lt12(vxw111, vxw101, ty_Double) → new_lt5(vxw111, vxw101)
new_lt4(vxw110, vxw100) → new_esEs13(new_compare11(vxw110, vxw100), LT)
new_esEs27(vxw301, vxw4001, ty_Char) → new_esEs18(vxw301, vxw4001)
new_esEs28(vxw110, vxw100, ty_Char) → new_esEs18(vxw110, vxw100)
new_ltEs17(EQ, GT) → True
new_compare6(Char(vxw110), Char(vxw100)) → new_primCmpNat0(vxw110, vxw100)
new_compare13(vxw110, vxw100, True, bce, bcf, bcg) → LT
new_ltEs8(Left(vxw110), Left(vxw100), ty_Bool, fd) → new_ltEs11(vxw110, vxw100)
new_esEs22(vxw302, vxw4002, app(app(ty_Either, bbg), bbh)) → new_esEs5(vxw302, vxw4002, bbg, bbh)
new_primCompAux00(vxw41, GT) → GT
new_lt12(vxw111, vxw101, ty_Int) → new_lt17(vxw111, vxw101)
new_ltEs18(vxw112, vxw102, ty_Double) → new_ltEs9(vxw112, vxw102)
new_lt9(vxw110, vxw100, bgh) → new_esEs13(new_compare0(vxw110, vxw100, bgh), LT)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_compare15(vxw110, vxw100, ty_@0) → new_compare9(vxw110, vxw100)
new_compare15(vxw110, vxw100, ty_Float) → new_compare5(vxw110, vxw100)
new_lt12(vxw111, vxw101, ty_Integer) → new_lt16(vxw111, vxw101)
new_esEs24(vxw111, vxw101, ty_Char) → new_esEs18(vxw111, vxw101)
new_esEs26(vxw300, vxw4000, ty_Ordering) → new_esEs13(vxw300, vxw4000)
new_esEs27(vxw301, vxw4001, ty_Bool) → new_esEs19(vxw301, vxw4001)
new_ltEs20(vxw11, vxw10, app(ty_Ratio, eh)) → new_ltEs13(vxw11, vxw10, eh)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs5(Right(vxw300), Right(vxw4000), db, app(ty_Maybe, ea)) → new_esEs7(vxw300, vxw4000, ea)
new_esEs22(vxw302, vxw4002, app(ty_Maybe, bca)) → new_esEs7(vxw302, vxw4002, bca)
new_ltEs14(@2(vxw110, vxw111), @2(vxw100, vxw101), fa, fb) → new_pePe(new_lt20(vxw110, vxw100, fa), new_asAs(new_esEs28(vxw110, vxw100, fa), new_ltEs19(vxw111, vxw101, fb)))
new_ltEs19(vxw111, vxw101, ty_Bool) → new_ltEs11(vxw111, vxw101)
new_primCmpInt(Neg(Succ(vxw1100)), Pos(vxw100)) → LT
new_lt12(vxw111, vxw101, app(ty_Ratio, cdc)) → new_lt6(vxw111, vxw101, cdc)
new_not(True) → False

The set Q consists of the following terms:

new_lt15(x0, x1, x2, x3)
new_ltEs8(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs11(Integer(x0), Integer(x1))
new_esEs7(Just(x0), Just(x1), ty_Int)
new_ltEs6(x0, x1)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs10(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare24(x0, x1, False, x2)
new_ltEs8(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs20(x0, x1, ty_Integer)
new_primCmpNat0(Succ(x0), Zero)
new_compare12(Double(x0, x1), Double(x2, x3))
new_esEs20(x0, x1, ty_Bool)
new_lt14(x0, x1)
new_lt20(x0, x1, ty_Integer)
new_compare8(x0, x1, x2, x3)
new_compare15(x0, x1, app(ty_Maybe, x2))
new_compare26(x0, x1, False, x2, x3)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_Float)
new_esEs13(GT, GT)
new_esEs29(x0, x1, ty_Bool)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux00(x0, LT)
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_ltEs8(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs29(x0, x1, ty_Double)
new_esEs23(x0, x1, ty_Ordering)
new_lt12(x0, x1, ty_Char)
new_lt4(x0, x1)
new_primCompAux0(x0, x1, x2, x3)
new_lt20(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_@0)
new_compare25(x0, x1, True, x2, x3)
new_compare0([], :(x0, x1), x2)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Char)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs8(Left(x0), Left(x1), ty_Integer, x2)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_primCompAux00(x0, GT)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(ty_[], x2))
new_ltEs8(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs29(x0, x1, ty_@0)
new_esEs20(x0, x1, ty_Int)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs16(@0, @0)
new_ltEs20(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_primPlusNat1(Zero, x0)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_primEqNat0(Succ(x0), Zero)
new_compare15(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_compare15(x0, x1, ty_@0)
new_pePe(False, x0)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_compare14(x0, x1, False, x2)
new_lt11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Ordering)
new_ltEs8(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_esEs19(True, True)
new_lt19(x0, x1, x2)
new_lt12(x0, x1, ty_Float)
new_compare113(x0, x1, True, x2, x3)
new_esEs13(LT, GT)
new_esEs13(GT, LT)
new_ltEs10(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Int)
new_ltEs8(Left(x0), Left(x1), ty_Bool, x2)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs24(x0, x1, ty_@0)
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_lt12(x0, x1, app(ty_[], x2))
new_ltEs8(Right(x0), Right(x1), x2, ty_Int)
new_lt7(x0, x1)
new_esEs26(x0, x1, ty_Integer)
new_compare15(x0, x1, ty_Ordering)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt11(x0, x1, ty_Int)
new_primEqNat0(Zero, Zero)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_compare24(x0, x1, True, x2)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs22(x0, x1, ty_Char)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Nothing, Nothing, x0)
new_esEs7(Just(x0), Nothing, x1)
new_esEs7(Nothing, Just(x0), x1)
new_esEs14(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, ty_Float)
new_esEs13(EQ, GT)
new_esEs13(GT, EQ)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_ltEs8(Right(x0), Right(x1), x2, ty_Double)
new_ltEs8(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Left(x0), Left(x1), ty_@0, x2)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_primMulNat0(Zero, Zero)
new_esEs21(x0, x1, ty_Float)
new_lt16(x0, x1)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_ltEs20(x0, x1, ty_Ordering)
new_compare15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Left(x0), Left(x1), ty_Ordering, x2)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_ltEs20(x0, x1, ty_@0)
new_ltEs8(Right(x0), Right(x1), x2, ty_Bool)
new_esEs14(:(x0, x1), [], x2)
new_compare10(x0, x1, x2, x3)
new_ltEs8(Left(x0), Left(x1), ty_Int, x2)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_ltEs8(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs22(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Ordering)
new_lt11(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Integer)
new_ltEs10(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs18(Char(x0), Char(x1))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, ty_Double)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1, app(ty_[], x2))
new_ltEs8(Right(x0), Right(x1), x2, ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_ltEs10(Just(x0), Just(x1), ty_Ordering)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_@0)
new_esEs13(EQ, EQ)
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Just(x0), Just(x1), ty_Float)
new_lt11(x0, x1, ty_Double)
new_compare25(x0, x1, False, x2, x3)
new_ltEs10(Nothing, Just(x0), x1)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare13(x0, x1, False, x2, x3, x4)
new_ltEs10(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare15(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_Bool)
new_compare111(x0, x1, True)
new_esEs27(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1)
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs23(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, app(ty_[], x2))
new_ltEs8(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs25(x0, x1, app(ty_[], x2))
new_lt11(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Bool)
new_ltEs15(x0, x1)
new_esEs15(Float(x0, x1), Float(x2, x3))
new_esEs19(True, False)
new_esEs19(False, True)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt11(x0, x1, app(ty_Maybe, x2))
new_lt12(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Just(x0), Just(x1), ty_Float)
new_esEs28(x0, x1, ty_Double)
new_ltEs8(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_sr(x0, x1)
new_ltEs18(x0, x1, ty_Int)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_primPlusNat0(Zero, Zero)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare26(x0, x1, True, x2, x3)
new_esEs24(x0, x1, ty_Bool)
new_compare15(x0, x1, ty_Integer)
new_primPlusNat0(Zero, Succ(x0))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt12(x0, x1, ty_Bool)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_compare15(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Int)
new_ltEs13(x0, x1, x2)
new_esEs22(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_@0)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs25(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Int)
new_compare112(x0, x1, False)
new_lt11(x0, x1, ty_Char)
new_ltEs10(Just(x0), Just(x1), ty_Int)
new_lt12(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_Ordering)
new_compare210(x0, x1, False)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primMulInt(Pos(x0), Pos(x1))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs10(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, ty_Integer)
new_esEs20(x0, x1, ty_Ordering)
new_esEs12(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr0(Integer(x0), Integer(x1))
new_lt11(x0, x1, ty_Float)
new_esEs23(x0, x1, ty_Double)
new_esEs28(x0, x1, ty_Char)
new_compare110(x0, x1, False, x2, x3)
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, True)
new_primEqNat0(Zero, Succ(x0))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs27(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Integer)
new_esEs20(x0, x1, ty_@0)
new_ltEs17(GT, GT)
new_esEs22(x0, x1, ty_Float)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_Double)
new_compare17(:%(x0, x1), :%(x2, x3), ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs25(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_Integer)
new_esEs10(x0, x1, ty_Integer)
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_primMulInt(Neg(x0), Neg(x1))
new_compare113(x0, x1, False, x2, x3)
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_ltEs10(Just(x0), Just(x1), ty_@0)
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_Int)
new_esEs14([], [], x0)
new_ltEs11(False, False)
new_ltEs9(x0, x1)
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_compare27(x0, x1, False, x2, x3, x4)
new_ltEs4(x0, x1)
new_ltEs8(Left(x0), Right(x1), x2, x3)
new_ltEs8(Right(x0), Left(x1), x2, x3)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_lt12(x0, x1, ty_Int)
new_ltEs10(Just(x0), Just(x1), ty_Double)
new_esEs19(False, False)
new_esEs29(x0, x1, ty_Char)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_compare15(x0, x1, ty_Float)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Float)
new_ltEs18(x0, x1, ty_Char)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_ltEs18(x0, x1, ty_Integer)
new_esEs7(Nothing, Nothing, x0)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_[], x2))
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs10(Just(x0), Just(x1), ty_Bool)
new_ltEs11(False, True)
new_ltEs11(True, False)
new_compare13(x0, x1, True, x2, x3, x4)
new_esEs24(x0, x1, ty_Char)
new_esEs25(x0, x1, ty_Ordering)
new_asAs(False, x0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_compare5(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_esEs29(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Double)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare27(x0, x1, True, x2, x3, x4)
new_esEs27(x0, x1, app(ty_[], x2))
new_lt11(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Float)
new_compare15(x0, x1, ty_Bool)
new_ltEs10(Just(x0), Just(x1), ty_Char)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs20(x0, x1, ty_Char)
new_esEs22(x0, x1, ty_Double)
new_ltEs8(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs19(x0, x1, ty_Float)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_pePe(True, x0)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Int)
new_ltEs16(x0, x1)
new_esEs28(x0, x1, ty_Int)
new_compare112(x0, x1, True)
new_esEs21(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs20(x0, x1, ty_Float)
new_compare17(:%(x0, x1), :%(x2, x3), ty_Integer)
new_ltEs20(x0, x1, ty_Float)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt10(x0, x1)
new_esEs28(x0, x1, ty_Bool)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_primCmpNat0(Zero, Zero)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primPlusNat0(Succ(x0), Succ(x1))
new_ltEs18(x0, x1, ty_Double)
new_ltEs8(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs24(x0, x1, ty_Double)
new_primCompAux00(x0, EQ)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_compare15(x0, x1, ty_Double)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_ltEs17(LT, GT)
new_compare16(x0, x1)
new_ltEs17(GT, LT)
new_ltEs18(x0, x1, ty_Ordering)
new_lt11(x0, x1, ty_Ordering)
new_ltEs7(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt12(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Succ(x0), x1)
new_esEs28(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Succ(x1))
new_lt11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, ty_Bool)
new_lt18(x0, x1, x2, x3, x4)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_compare0([], [], x0)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Just(x0), Just(x1), app(ty_[], x2))
new_primCmpNat0(Zero, Succ(x0))
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Integer)
new_esEs13(LT, LT)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs21(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2, x3)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_compare9(@0, @0)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_ltEs8(Right(x0), Right(x1), x2, ty_Char)
new_lt12(x0, x1, app(app(ty_@2, x2), x3))
new_lt17(x0, x1)
new_esEs26(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_esEs28(x0, x1, ty_Integer)
new_compare19(x0, x1)
new_esEs22(x0, x1, ty_Integer)
new_lt12(x0, x1, ty_Integer)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_not(True)
new_compare28(x0, x1, x2, x3, x4)
new_esEs13(EQ, LT)
new_esEs13(LT, EQ)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs14([], :(x0, x1), x2)
new_ltEs12(x0, x1, x2)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_compare11(x0, x1)
new_esEs27(x0, x1, ty_Int)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, app(ty_[], x2))
new_not(False)
new_lt11(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1)
new_ltEs10(Just(x0), Just(x1), ty_Integer)
new_lt11(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Double)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_ltEs14(@2(x0, x1), @2(x2, x3), x4, x5)
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs8(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs26(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs18(x0, x1, ty_@0)
new_lt12(x0, x1, ty_Double)
new_compare7(x0, x1, x2)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs8(Right(x0), Right(x1), x2, ty_Float)
new_compare210(x0, x1, True)
new_compare6(Char(x0), Char(x1))
new_esEs22(x0, x1, ty_@0)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Float)
new_primMulNat0(Succ(x0), Zero)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs29(x0, x1, app(ty_[], x2))
new_ltEs8(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs10(Just(x0), Nothing, x1)
new_lt20(x0, x1, ty_@0)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs8(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt12(x0, x1, app(ty_Maybe, x2))
new_lt8(x0, x1, x2, x3)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs17(LT, EQ)
new_esEs9(x0, x1, ty_Integer)
new_ltEs17(EQ, LT)
new_compare15(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_lt12(x0, x1, ty_Ordering)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_lt9(x0, x1, x2)
new_ltEs19(x0, x1, ty_Char)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Left(x0), Left(x1), ty_Char, x2)
new_lt12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Bool)
new_esEs24(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_Int)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Zero))
new_compare18(Integer(x0), Integer(x1))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, ty_Integer)
new_esEs28(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Ordering)
new_esEs8(:%(x0, x1), :%(x2, x3), x4)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare15(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Int)
new_asAs(True, x0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_ltEs17(LT, LT)
new_compare0(:(x0, x1), [], x2)
new_compare111(x0, x1, False)
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(True, True)
new_ltEs8(Left(x0), Left(x1), ty_Double, x2)
new_lt6(x0, x1, x2)
new_compare29(x0, x1, False)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Int)
new_compare15(x0, x1, app(ty_Ratio, x2))
new_esEs17(Double(x0, x1), Double(x2, x3))
new_compare14(x0, x1, True, x2)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Float)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: